└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # Reactjs_selfHandbook
2 | Reactjs 개인적인 사용법 성능 개선 방법 정리 (기본적인 리엑트의 계념은 생략..)
3 |
4 | ## 1) 컴포넌트 Component
5 |
6 | 리엑트 가상 엘리먼트를 나타내주는 함수.
7 | Mounting -> updating -> Unmounting 의 순서로 진행된다.
8 |
9 | ### 1-1) 컴포넌트 라이프사이클
10 |
11 | #### Mounting (순서가 보장) 컴포넌트 생성
12 |
13 | 1. construtor()
14 | 2. componentWillMount()
15 | 3. render()
16 | --------------------------렌더전
17 | 4. componentDidMount()
18 |
19 | #### Updating 컴포넌트 갱신
20 |
21 | 1. componentWillReciveProps() => props가 갱신되면 실행됨
22 | 2. shouldComponentUpdate() => 기본값이 존재하고 업데이트(false)를 취소할수 있다.
23 | 3. componentWiiUpdate() => setState 불가능
24 | 4. render()
25 | 5. componentDidUpdate() => 이전의 props과 갱신된 props값 비교 가능 setState가능
26 |
27 | #### Unmountiong 컴포넌트 재거
28 |
29 | 1. componentWillUnmount()
30 |
31 | ### 컴포넌트 state, props
32 |
33 | 컴포넌트 인스턴스 속성 state, props가 있다.
34 | 컴포넌트 안에서는 state로 값을 전달 받고
35 | 컴포넌트 끼리는 props로 값을 전달 받는다. props은 부모와 자식간의 수직적인 관계로 전달받는다.
36 |
37 | ### 1-2) setState의 이해
38 |
39 | 컴포넌트안에 setState()라는 함수가 존재한다. 하지만 완벽하지 못하다.
40 | 여러가지 이유가 있지만 ..
41 | 1. 값의 변화를 감지할때 연산자의 값이 아닌 reference 값을 기준으로 참/거짓을 리턴한다.
42 | 2. setState 호출 즉시 state가 변경되지 않고 비동기적으로 동작하므로 주의 해야 한다.
43 |
44 | 이렇게 만든 이유는 무분별한 render()를 방지하기 위한것이기도 하다.
45 |
46 |
47 | ### 1-3) 컴포넌트 다양한 패턴
48 |
49 | 컴포넌트를 좀 더 효율적으로 사용하기 위해서 고려하는 사항들
50 | - solid원칙 (컴포넌트(함수)를 한가지 역할 이외의 다른 기능을 담당하지 않게 한다.)
51 | - dry유지
52 | - 재사용가능한 컴포넌트 생성
53 | - 컴포넌트역할의 명확성
54 | - 똑똑한 컴포넌트(containers), 멍청한 컴포넌트(components) 분리...
55 | - 컴포넌트가 150줄이 넘지 않아야 한다.
56 |
57 | #### 무상태 컴포넌트 만들기
58 |
59 | 재사용성이 좋은 무상태 즉 state가 없는 컴포넌트.
60 | 무상태 컴포넌트는 render에 필요한 데이터는 존재한다. 또한 ui를 조작하기 위한 state는 없다.
61 | ```js
62 | // JS 자바스크립트
63 | const Block = (props) => (
64 |