Frontend

Redux Toolkit 사용

SuperDT 2024. 12. 1. 23:59

Redux를 쉽게 사용하기 위해서

Redux Toolkit을 사용해보자

 

npm install @reduxjs/toolkit react-redux

 

Redux Toolkit의 구성 요소와 사용법

configureStore redux 스토어 생성, 미들웨어와 DevTools를 기본적으로 통합 const store = configureStore({ reducer: { ... } });
createSlice 상태와 리듀서를 한 번에 정의 (코드 간결), 액션 생정자(action creators)를 자동 생성 const slice = createSlice({ name, initialState, reducers });
createAsyncThunk 비동기 작업을 쉽게 처리, 상태를 관리 const thunk = createAsyncThunk('name', async (args) => { ... });
useSelector Redux 스토어에서 상태 읽기 const value = useSelector((state) => state.someValue);
useDispatch Redux 액션 디스패치 const dispatch = useDispatch(); dispatch(action);

 

Redux Toolkit을 사용해야 하는 이유는

아래와 같다

 

  • Redux를 쉽게 사용하도록 설계된 공식 라이브러리
  • Redux의 복잡한 설정과 반복적인 코드 줄이고 효율적으로 상태를 관리하도록 도움
  • 비동기 상태 관리와 DevTools 통합이 기본 제공
  • Redux Thunk로 비동기 작업
    • action → middleware → reducer → store
    • 액션이 디스패치되어 리듀서에서 처리되기 전에 특정 작업을 수행
    • middleware에서 작업 수행 후 reducer에 전달, 전달된 값이 store에 전달되면 모든 UI에 반영
  • immer 통합 - 상태 업데이트 시 불변성을 유지하는 복잡한 코드를 자동으로 관리