본문 바로가기
부트캠프 개발일지 2023-2024/React 리액트

[6주차] 리액트숙련: Redux 소개

by whereanna00 2023. 11. 9.

Redux 소개

리덕스 (Redux) : 전역 상태관리 라이브러리, 중앙 데이터 관리소를 사용할 수 있게 도와주는 패키지(라이브러리)

  리덕스 사용 전 리덕스 사용 후
한줄요약 state 를 사용해 데이터를 관리 리덕스를 통해 중앙 데이터 관리소에서 데이터 관리
작동방법
(state 값 전달)
Props를 통해 부모->자식 컴포넌트로 state값 전달 모든 엘리먼트가 리덕스에 접근 -> state 조회 -> state 업데이트
특징 👎 부모-자식 관계 사이에서만 state 보내기 가능
👎 조부모-자식으로 가려면, 부모단계를 꼭 거쳐야 함
👎 자식-부모로 bottomUp 방식으로는 불가
👍 부모관계 상관없이 state 공유 및 보내기 가능
👍 중간에 의미 없이 컴포넌트를 거치지 않았도 됨
👍 자식컴포넌트에서 만든 state를 부모 컴포넌트에서도 사용 가능

 


 

여기서 잠깐

우리는 ContextAPI 를 통해 이미 Props 를 통한 state 값 전달을 개선하는 방법을 배웠다.

 

[6주차] 리액트숙련: React Hooks - useContext(Context API)

useContext(Context API) 부모컴포넌트에서 자식 컴포넌트로 데이터를 props를 통해 전달한다. 하지만 그 깊이가 깊어지면, 오류추적이 힘들어진다. 그래서 등장한 것이 바로 useContext(Context API) 이다. useC

whereannalee.tistory.com

 

하지만 Context API 도 단점이 있었다.

Provider에서 제공한 value가 달라진다면(state가 변경되면) useContext를 사용하고 있는 모든 컴포넌트가 리렌더링 되는 것!

그렇기때문에 상태관리 라이브러리로서 조금 부족한 부분이 있는 것이 사실이다. 

 

 


Global State / Local State

Global State (전역상태)

: 컴포넌트에서 생성되지 않고, 중앙화된 특별한 곳에서 state들이 생성된다. "중앙 state 관리소". 후에 새롭게 이용할 리덕스에서 생성한 state는 Global State 가 된다.

 

Local State (지역상태)

: 컴포넌트에서 useState를 이용해 생성한 state이다. 좁은 범위 안에서 생성된 state.

 

728x90
반응형