import { configureStore, createSlice } from '@reduxjs/toolkit'
let user = createSlice({
name : 'user',
initialState : 'kim'
})
export default configureStore({
reducer: {
user : user.reducer
}
})
createSlice() 상단에서 import 해온 다음에
{ name : 'state이름' , initialState : 'state값'} 을 넣으면 state를 생성할 수 있다.
(createSlice()는 useState()와 용도가 비슷하다.)
state 등록은 configureStore() 안에 해야 한다.
{작명 : createSlice만든것.reducer} 이렇게 하면 등록이 끝난다.
이제 등록한 state는 모든 컴포넌트가 자유롭게 사용이 가능하다.
(Cart.js)
import { useSelector } from "react-redux"
function Cart(){
let a = useSelector((state) => { return state } )
console.log(a)
return (생략)
}
let a = useSelector((state) => state.user )
: 장바구니 데이터를 Redux store 안에 보관하고 Cart.js 페이지에 가져와서 데이터바인딩 해보기, 데이터 갯수에 맞게 표를 생성해달라고 반복문 써보기.
(장바구니 데이터)
[
{id : 0, name : 'White and Black', count : 2},
{id : 2, name : 'Grey Yordan', count : 1}
]
(store.js)
let basket = createSlice({
name: "basket",
initialState: " [
{ id: 0, name: "White and Black", count: 2 },
{ id: 2, name: "Grey Yordan", count: 1 },
]",
});
(Cart.js)
<tbody>
<tr>
<td>{state.basket[0].id}</td>
<td>{state.basket[0].name}</td>
<td>{state.basket[0].count}</td>
<td>안녕</td>
</tr>
<tr>
<td>{state.basket[1].id}</td>
<td>{state.basket[1].name}</td>
<td>{state.basket[1].count}</td>
<td>안녕</td>
</tr>
</tbody>
좋은 글 감사합니다.