38일 차 회고
프로젝트 하루전! 할 수 있을꺼야!!!!!!!!!!
yarn add react-redux @reduxjs/toolkit
- createSlice 를 import 한다.
- API를 통해 createSlice 만든다.
- name : 모듈의 이름
- initialState : 모듈의 초기값 상태
- reducer : 모듈 reducer 로직
import {createSlice} from '@reduxjs/toolkit'
const initialState = {
number: 0
}
const counterSlice = creacteSlice({
name:"counter"
initialState,
reducers: {}
})
const counterSlice = createSlice({
name:'counter',
initialState,
reducers: {
addNumber: (state, action)=>{
state.number = state.number + action.playload
}
minusNumber: (state, action)=>{
state.number = state.number - action.payload
}
}
})
// 액션크리에이터 를 컴포넌트에서 사용하기 위해-> export
export const {addNumber, minusNumber} = counterSlice.actions.
//reducer는 configStore에 등록하기 위해 export default
export default counterSlice.reducer
- configureStore import
- modlues 폴더에서 리듀서 import
- configureStore 작성
- 추가할때마다 reducer 안에 추가 해 준다.
- export default store
import {configureStore} from '@reducxjs/toolkit'
import counter from "../modules/counterSlice";
import todos from "../modules/todosSlice";
const store = configureStore({
reducer: {counter:counter, todos:todos}
})
export default store
// index.js
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import { Provider } from "react-redux";
import store from "./redux/config/configStore";
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<Provider store={store}>
<App />
</Provider>
);
import React from 'react'
import {useSelector} from 'react-redux'
const App = ()=>{
// store 모듈 조회
//1.
const todos = useSelector((state)=>state.todos);
//2.
const counter = useSelector((state)=>state.counter)
return<div>App</div>
}
export default App;
프로젝트 잘할수있고 말고요!!
아자아자!!!