๋ชจ๋ ์ค์น :
yarn add react-redux @reduxjs/toolkit
์ฐจ์ด์ : Action Value์ Action Creator๋ฅผ ์ด์ ์ง์ ์์ฑํด์ฃผ์ง ์๊ณ ,
Action Value, Action Creator, Reducer๊ฐ ํ๋๋ก ํฉ์ณ์ก๋ค๋ ์
CreateSlice ๊ตฌ์กฐ
const counterSlice = createSlice({
name: '', // ์ด ๋ชจ๋์ ์ด๋ฆ
initialState : {}, // ์ด ๋ชจ๋์ ์ด๊ธฐ์ํ ๊ฐ
reducers : {}, // ์ด ๋ชจ๋์ Reducer ๋ก์ง
})
counterSlice ๋ฆฌ๋์ ๊ฐ์ฒด ์์์ ๋ง๋ค์ด์ฃผ๋ ํจ์๊ฐ ๋ฆฌ๋์์ ๋ก์ง์ด ๋๋ฉด์๋ ๋์์ Action Creator๊ฐ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Action Value ๊น์ง ํจ์์ ์ด๋ฆ์ ๋ฐ์ ์๋์ผ๋ก ๋ง๋ค์ด์ง!
// ์ก์
ํฌ๋ฆฌ์์ดํฐ๋ ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ๊ธฐ ์ํด export ํ๊ณ
export const { addNumber, minusNumber } = counterSlice.actions;
// reducer ๋ configStore์ ๋ฑ๋กํ๊ธฐ ์ํด export default ํฉ๋๋ค.
export default counterSlice.reducer;
export ํ configStore์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋์ผ
import { configureStore } from "@reduxjs/toolkit";
/**
* 1. Slice Reducer import
*/
import counter from "../modules/counterSlice";
// ๋ชจ๋๋ก ๊ตฌํ ํ, Store์ ๋ชจ๋ ์ฐ๊ฒฐ
const store = configureStore({
reducer: { counter: counter, todos: todos },
});
export default store;
์ฌ๋ผ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด, Action Value, Action Creator, Reducer ํ๋๋ก ํฉ์น๊ธฐ ๊ฐ๋ฅ !