// store.js
import { configureStore, createSlice } from '@reduxjs/toolkit'
// useState와 같은 역할
// 1. 데이터 만들기
let state명 = createSlice({
name : 'state명',
initialState : 초기값
})
export default configureStore({
reducer: {
// 2. 등록하기
state명 : state명.reducer
}
})
예시)
2. 사용하기
useSelector() 함수로 state를 불러와서 사용
useSelector()의 state는 store에 있는 모든 데이터를 말함
// Cart.js
import { useSelector } from 'react-redux';
function Cart() {
// store의 state 가져오는 함수
let store = useSelector((state)=>{ return state })
console.log(store)
return (
<div className="container">
...생략
</div>
)
}
export default Cart;
콘솔창
store에 저장된 값이 출력됨
Redux의 state 변경하기
1. store.js에 state 변경해주는 함수 만들기
2. export
reducers 안에 함수 여러개 선언 가능
user.actions 에는 reducers안에 정의된 함수들이 들어온다
3.import 하고 dispatch()로 감싸서 사용하기
import { useSelector, useDispatch } from 'react-redux';
import { changeName } from '../store';
function Cart() {
let store = useSelector((state)=>{ return state })
// dispatch 사용
let dispatch = useDispatch()
return (
<div className="container">
...생략
<button
onClick={()=>{
// dispatch로 묶어서 사용
dispatch(changeName())
}}
>+
</button>
...생략
</div>
)
}
export default Cart;
댓글