프론트에선 웹을 짤때 여러 상태를 만드는데, 이 상태가 많아지면 나중엔 꼬이고 복잡해진다. 그래서 상태 관리 라이브러리 라는걸 쓴다. 대표적으로 Redux, Recoil, Mobx 이렇게 3개 있는데 이 중에 차이점을 비교해 보겠다.

Redux

redux는 reducer , store, dispatch, action 라는 4가지 큰 개념으로 잡힌다.

Untitled

특징

  1. 상태를 전역적으로 관리한다.
  2. 데이터 흐름이 단방향으로 흐른다.
  3. 상태를 읽기전용으로 지정한다.
  4. reducer , store, dispatch, action 와 같은 개념이 선행되어야 하므로 러닝커브가 높다.
  5. 코드량이 많아진다.

Mobx

Mobx 도 redux와 비슷한 라이브러리이지만, redux에 비해 간결하고 깔끔하다. 그리고 모든 상태 변화가 일어나는 부분을 자동으로 추적해준다는 큰 특징이 있다.

Untitled

특징

  1. React에 종속된 라이브러리가 아니고, redux와는 다르게 store 제한이 없다.
  2. observable 기본적으로 사용한다. 절대적으로 필요한 경우에만 state를 변경한다.