1. 상태관리
1. 상태란 무엇인가?
- 상태는 변하는 데이터 이며 UI에 동적으로 표현될 데이터이다.
- 예를 들어 상품의 개수, 상품 선택 여부, 장바구니에 담긴 물품 등
2. Side Effect란 무엇인가?
- 함수의 입력 외에도 함수의 결과에 영향을 미치는 요인
- 예를 들어 네트워크 요청, API 호출 등
상태를 생각함에 있어 side effect역시 주요 고려 대상이다.
컴포넌트 단위로 개발을 할때 불가피하게 side effect가 발생할 수 있다.
이를 위해서 데이터 무결성 원칙이 필요
3. 데이터 무결성이란 ?
- 데이터의 정확성을 보장하기 위해 데이터의 변경이나 수정 시 제한을 두어
안정성을 저해하는 요소를 막고 데이터 상태들을 항상 옳게 유지하는 것
- 무결성을 위한 방법론(Single source of truth) 동일한 데이터는
항상 같은곳에서 데이터를 가지고 온다!
4. 상태관리를 위한 각종 툴
- React Context
- Redux
- Mobx
5. 상태관리 툴은 어떤 문제를 해결?
- 상태관리 툴은 전역 상태 저장소를 제공한다!
- Props Drilling 이슈 해결
: 불필요하게 하위컴포넌트로 props를 만들어 자식 컴포넌트로 넘겨주는 현상
예를 들어 <A>-><I>로 상태전달을 위해 <C>,<G>등으로 props를 전달 하는것
6. 상태 관리의 기본기라고 볼 수 있는 "상태가 어디에 위치해야 하는지"를
먼저 알아야 한다.