리덕스 툴킷(RTK)은 리덕스를 더 편하게 쓰기 위해 만들어진 것이다.

사용하기


기존 Redux 사용 방식에서 변경된 점에 대한 정리.

  • 설치하기

    yarn add react-redux @reduxjs/toolkit
    
  • 설정코드작성

    import { configureStore } from "@reduxjs/toolkit";
    import counter from "../modules/counterSlice";
    import todos from "../modules/todosSlice";
      
    const store = configureStore({
      reducer: { counter: counter, todos: todos },
    });
      
    export default store;
    

    rootReducer와 Store를 각각 만들어야했던 부분이 하나로 통합되었다.

  • 모듈작성

    import { createSlice } from "@reduxjs/toolkit";
      
    const initialState = {
      number:0 ,
    };
      
    const counterSlice = createSlice({
      name: "number",
      initialState,
      reducers: {
          addNumber: (state, action) => {
              state.number = state.number + action.payload
          }, 
          subNumber: (state, action) => {
              state.number = state.number - action.payload
          }, 
      },
    });
      
    export const { addNumber, subNumber } = counterSlice.actions;
    export default counterSlice.reducer;
    

    분리되어있던 Action 설정이 하나로 통합되었다.

  • 그 외 App.js에서 Provider 컴포넌트를 부모컴포넌트로 만드는 작업이나 useState, dispatch를 사용하는 방법은 모두 동일하다.