상태관리 라이브러리

rosyoon·2022년 12월 14일
0

프론트엔드 공부

목록 보기
8/34

react 하면 빠질 수 없는 라이브러리가 상태관리 라이브러리라던데…

Vue, Angular와 다르게 React는 단방향 데이터 바인딩이기 때문에 상태관리를 하는데에 있어서 불편함이 있을 수 있다. 그래서 큰 프로젝트에서는 거의 필수적으로 사용된다고 보면 된다.

react가 버전 업데이트 되고나서 이제는 ContextApi만으로도 관리하기 좋아졌지만,

주로 정적인 데이터 처리와 같이 업데이트가 자주 발생하지 않을 때 사용하기에 적합하다.

(Provider 전체가 리렌더링 되기 때문에 비효율적이다.)

라이브러리 비교

  • Redux
    • 가장 많이 사용된다.
    • 무겁다.
    • 여러 라이브러리가 함께 사용되며 여러 개념을 익히고 있어야해서 러닝커브가 높다.
    • 액션 하나 추가하는데 작성이 필요한 부분이 많고 컴포넌트와 스토어를 연결하는 필수적인 부분들이 있어서 코드량이 많다.
  • Recoil
    • 가볍다.
    • 함수형 컴포넌트에서만 사용 가능하다.
    • 비동기 처리를 기반으로 작성되어 동시성 모드를 제공한다.
    • 복잡하지 않은 상태 구조이다.
    • 러닝커브가 비교적 낮다.
    • facebook에서 만들었고 요즘 뜨고 있는 추세다.
  • Mobx
    • 간결하고 깔끔한 구조다.
    • 객체 지향적으로 구성되어있다.
    • state의 불변성 유지를 위해 노력하지 않아도 된다. 리덕스는 이를 위해서 여러 라이브러리를 사용한다.

Redux의 불편함을 개선하고자 Mobx가 등장했고, 두 라이브러리의 뷸편함을 개선하고자 Recoil이 등장했는데~

Recoil은 React 내장 hook과 사용방식이 비슷하여 쉽고 활용하기에 좋다.

0개의 댓글