React 데이터 흐름
Effect Hook
React를 사용하는 개발 방식은 component 단위로 개발을 시작합니다.
component 단위를 찾고나면, component를 만들고 조립해나가면서 Web page를 만든다. 이것을 상향식(bottom-up)으로 앱을 만든다 라고 말한다.
상향식 방식 개발의 장점
[그림] 컴포넌트의 트리구조화
one-way data flow (단방향 데이터 흐름) 입니다.
component 는 component 의 바깥에서 props 를 이용해 data 를 arguments (인자) 또는 attributes (속성) 처럼 전달받을 수 있습니다.
자식 component 는 props 를 통해 전달받은 data 가 어디에서부터 전달되었는지 알지 못합니다.
[그림] top-down (하향식) data-flowState 다루는 법
State를 최소화하는것이 가장 좋다.
아래 조건이 맞다면 State가 아니다(x)!!
State를 어디에 위치시켜야 하는가 ?
[그림] 두 개의 자식 컴포넌트가 하나의 상태에 접근하고자 할 때는 두 자식의 공통 부모 컴포넌트에 상태를 위치해야 합니다.
하위 컴포넌트(NewTweetForm)에서의 클릭 이벤트가, 부모의 상태를 바꾸어야만 하는 상황이 왔습니다. 이를 어떻게 해결할 수 있을까요?
이를 해결할 수 있는 키워드는 바로 "State 끌어올리기(Lifting state up)" 입니다.
[그림] 상태를 변경시키는 함수(handler)를 하위 컴포넌트에 props로 전달해서 해결할 수 있습니다.
출처 : 코드스테이츠