상태 관리 도구(State Management Tools)란?
상태 관리가 왜 필요할까?
먼저 상태란?
React에서 State는 component 안에서 관리되는 것이다.
Component 간의 정보 공유
자식 컴포넌트들 간의 다이렉트 데이터 전달은 불가능 하다.
자식 컴포넌트들 간의 데이터를 주고 받을 때는 상태를 관리하는 부모 컴포넌트를 통해서 주고 받는다.
그런데 자식이 많아진다면 상태 관리가 매우 복잡해진다.
상태를 관리하는 상위 컴포넌트에서 계속 내려 받아야한다. => Props drilling 이슈
상태 관리의 복잡성을 해결해주는 라이브러리를 활용하자!
상태 관리 툴은 어떤 문제를 해결해 주나?
1. 전역 상태 저장소 제공
2. Props drilling 이슈 해결
예를 들어, A라는 컴포넌트에 상태가 있고,
I라는 컴포넌트가 해당 상태를 사용한다고 하면,
그 중간에 존재하는 C, G 등은 굳이 name이라는 상태가 필요하지 않음에도,
컴포넌트에 props를 만들어 자식 컴포넌트에 넘겨주어야 했다.
이를 props drilling(프로퍼티 내려꽂기) 문제라고 부른다.
전역 상태 저장소가 있고, 어디서든 해당 저장소에 접근할 수 있다면 이러한 문제는 해결 된다.
상태 관리 툴 종류
상태관 리를 도와주는 각종 툴이 있다.
React Context
Redux
MobX