상태관리 -context Api, Redux

최중혁·2022년 5월 10일
0

React

목록 보기
9/13

상태관리가 필요한 이유

여러 컴포넌트가 공통으로 사용할 상태를 서로 공유해야 할 시점에서 복잡한 구조와 계층이 생성되기 시작함 즉, 전역으로 다루어야 할 상태가 생겼을 때

Context Api

값에 변화가 발생했을 때 Context를 구독하고 있는 모든 컴포넌트들이 전체적으로 모두 리-렌더링이 발생. 예를 들어 플랫폼 앱을 할때, 장바구니 같은 여러 컴포넌트에서 값을 가지고 있어야하는 기능을 만들때, context api 를 사용

useReducer
를 통한 변경 흐름 조절이나 메모이제이션을 활용, 또는 논리적 관점에서 Provider
를 여러 개로 분리하고, 가능한 그 상태를 필요로 하는 곳 근처에 두는 등 자체적인 최적화가 가능

Redux

redux에 대해서는 React 스터디를 통하여 구현해본 적이 있습니다. redux는 우선 store를 통해 상태를 저장하고, 필요할 때 업데이트를 할 수 있는 상태관리 라이브러리입니다. 이 때문에, Context와는 달리 빈번하게 컴포넌트에 변경 사항이 발생한다면, 파악이 쉽다는 점이 장점입니다. 이 때문에 필요할 때만 컴포넌트를 불러와 리렌더링이 비교적 낮게 발생되어 성능에도 좋습니다. 또 하나는 구조 파악이 쉽고, 기록이 남는 action을 통해 에러를 찾기도 쉽다는 점도 장점이라고 생각됩니다.

0개의 댓글