프론트에서 데이터 전달, 이벤트 처리 등 어플리케이션에서 다양한 동작을 제어 하기 위해 상태를 사용한다.
현재 사용하는 React에서 상태는 화면을 렌더링하는데 큰 영향을 미치는 요소이다. 따라서 리액트 자체적으로 state를 관리 할 수 있으며, 관련 다양한 라이브러리가 제공되고 있다.
this.state
useState
useReducer
useContext
현재 프로젝트에서는 상태 관리를 위해 Mobx를 사용하기로 하였다.
Redux를 사용하지 않은 것은 Redux의 상대적으로 높은 러닝커브 때문이다.
그래서 Mobx가 상태 관리를 해주는 라이브러리이니 '어플리케이션의 모든 상태를 Mobx로 관리 할 것인가?'
가계부 입력과 수정 같은 경우 같은 유형의 상태를 상태를 쓸 때 중복 처리
에 대한 의문을 가지게 되었다. 여기에서 현재까지 도출한 의견
대부분의 상태를 Mobx로 관리하자
모달 visible 같은 짜잘한(?)것은 제외.
컴포넌트간의 교류가 필요한 데이터만을 Mobx로 관리하자. 그 이외에 단일 컴포넌트에서 사용할 것은 그 안에서 알아서 선언해서 사용하자.
장점
프로젝트에 상태가 전역으로 있어서 필요에 따라 연결만 하면 된다.
상태 관련 로직이 분리되어 있기 때문에 관리가 용이 할 수 있다.
기존 state 사용으로 재사용성 증가.
클래스로 관리를 한다면, State와 그 State에 연관된 메서드가 무엇인지 한 번에 알 수 있다.
→ 관리가 편해진다.
단점
reset
같은 연산에 신경을 써야 한다.궁금한 점