■ Redux Tool Kit 으로 리팩토링하기
⚬ Redux Toolkit 과 React Redux 패키지 설치
yarn add @reduxjs/toolkit react-redux
⚬ Redux store 생성
// store.js
import { configureStore } from "@reduxjs/toolkit";
import pokemonReducer from "../modules/pokemonSlice";
export default configureStore({
reducer: {
pokemon: pokemonReducer,
},
});
⚬ main.jsx에서 Provider로 App 컴포넌트를 감싸 store를 props로 넘겨주기
// main.jsx
// Provider, store import 해주기
import { Provider } from "react-redux";
import store from "./redux/config/store.js";
createRoot(document.getElementById("root")).render(
<StrictMode>
<Provider store={store}> // App 컴포넌트 감싸주기
<App />
</Provider>
</StrictMode>
);
⚬ pokemonSlice 생성하기
// pokemonSlice.js
import { createSlice } from "@reduxjs/toolkit";
const initialState = [];
export const pokemonSlice = createSlice({
name: "pokemon",
initialState,
reducers: {
addPokemon: (state, action) => {
},
removePokemon: (state, action) => {},
},
});
export const { addPokemon, removePokemon } = pokemonSlice.actions;
export default pokemonSlice.reducer;
⚬ 컴포넌트에서 Redux State 와 Actions 사용하기
■ 느낀점
혼자 해보다가 벽에 겁나 부딪힌 기분
addPokemon 로직까지만 리덕스화 시키는걸 목표로 해야겠다.
중간중간 꼭 콘솔 찍어서 확인하는거 잊지말자
참고
'TIL' 카테고리의 다른 글
뉴스피드 팀 프로젝트 ② - 기능구현(프로필, 닉네임) (0) | 2024.08.30 |
---|---|
뉴스피드 팀 프로젝트 ① - 기획 (7) | 2024.08.28 |
개인과제 - 포켓몬도감 만들기 ③ (0) | 2024.08.26 |
개인과제 - 포켓몬도감 만들기 ② (0) | 2024.08.23 |
개인과제 - 포켓몬도감 만들기 ① (2) | 2024.08.22 |