Redux외 다른 전역 상태관리 비교

솜주먹·2022년 10월 11일
0

항해99

목록 보기
4/37
post-thumbnail

📖 또다른 전역 상태관리

🔍 Context API

💬 정의

  • React에서 지원하는 context를 사용하기 위한 API

💬 장점

  • 별도의 패키지 다운로드가 필요없이 사용 가능
  • 러닝커브 또한 작다

💬 단점

  • 하나의 상태만 저장이 가능
  • 상태값이 변경되면 Provider로 감싼 모든 자식 컴포넌트가 리렌더링됨

🔍 Recoil

💬 정의

  • Context API 기반으로 페이스북에서 만든 함수형 컴포넌트에서만 사용 가능한
    전역 상태관리 라이브러리

💬 장점

  • 러닝커브가 작다
    1. react 내장 hooks를 사용하는 방식과 크게 다르지 않다
  • 비동기 처리가 내장되어 있다
    1. Redux는 thunk나 saga같은 미들웨어를 추가로 설치해서 사용해야되서
    번들이 무거워짐
  • 보일러 플레이트가 적다

💬 단점

  • 함수형 컴포넌트에서만 사용이 가능하다는 것
    1. 클래스형 컴포넌트로 이미 짜둔 기업이 존재할 건데 Recoil을 쓰려면 리팩토링각

💡 답변

Redux말고 다른 전역 상태관리 아는 것과 차이점은?

먼저 ContextAPI는 React에 내장되어있어 별도의 설치가 필요없고 러닝커브가 작습니다.
하지만 하나의 상태값만 저장이 가능하며 가장 큰 단점으로 상태값이 변경되면
provider로 감싼 모든 하위 컴포넌트가 리렌더링된다는 점이 있습니다.

다음으로 Recoil은 contextAPI를 기반으로 만들어져 역시나 러닝커브가 작습니다.
그리고 react 내장 hooks와 사용 방식이 크게 다르지않아 보일러 플레이트가 작습니다.
또한 비동기 처리가 내장되어있어 Redux와 다르게 추가 설치가 필요치않아 번들이
조금 가볍습니다.

Context API란?

React에서 지원하는 context를 사용하기 위한 API입니다.
전역 상태관리를 도와주며 React에서 지원하기에 별도의 패키지 다운로드가 필요없습니다.
하지만 하나의 상태값만 저장이 가능하며 큰 단점으로 상태값이 변경되면 provider로
감싼 모든 하위 컴포넌트가 리렌더링된다는 점이 있습니다.

0개의 댓글