코딩 공부 (frontend)/react

React 외부 구현 상태관리

unongnim 2024. 8. 8. 16:12
• React 외부에서 상태를 관리하는 방법
• Redux & Redux Toolkit 이란?
• Redux & Redux Toolkit 사용법

 

 

전역 상태 (Global State)

React 외부에서 상태를 관리하는 방법

 

프로젝트 전체의 상태 관리를 총괄하는 것이다.

전역에서 관리하기 때문에, 어떤 컴포넌트에서든 상태 값을 반영하고, 변경시키는 것이 가능하다.

 

ex)

Redux

Redux Toolkit

Recoil

MobXa

Zustand

Jotai

 

 

Redux & Redux Toolkit?

 

Redux

전역 상태 관리를 위한 라이브러리

모든 상태를 하나의 중앙 저장소(Store)에서 관리한다.

 

복잡한 데이터 흐름이나 상태 관리가 필요할 때 사용하면 좋다.

 

Redux Toolkit

초기 설정과 코드량이 많아질 수 있는 Redux를 보완하기 위해 만들어졌다.

코드 유지 보수성을 향상시킨다.

 

 

Redux & Redux Toolkit 사용법

 

Redux 설치방법

npm install redux react-redux
 

Redux Toolkit 설치방법

npm install @reduxjs/toolkit
 

 

Counter 상태 관리 예시

// Redux의 createStore 함수로 Store 생성
import { createStore } from 'redux';

// counter 함수 = reducer
// 현재 상태(state)와 액션(action)을 받아서 다음 상태를 계산하여 반환
function counter(state = 0, action) { // 초기값 : 0
  switch (action.type) {
    case 'INCREMENT':
      return state + 1
    case 'DECREMENT':
      return state - 1
    default:
      return state
  }

// 앱의 상태를 보관하는 Redux 저장소 만듬
let store = createStore(counter)

// subscribe()를 이용해 Store 상태가 변경될 때마다 호출
store.subscribe(() => console.log(store.getState())))

// dispatch()를 이용해 액션(action)발생
// 내부 상태 변경
store.dispatch({ type: 'INCREMENT' })
// 1
store.dispatch({ type: 'INCREMENT' })
// 2
store.dispatch({ type: 'DECREMENT' })
// 1