1.store에 저장된 state가 array, object 자료인 경우 state 변경을 좀 쉽게 편리하게 할 수 있는데
state변경함수에 파라미터 뚫는법
let user = createSlice({
name : 'user',
initialState : {name : 'kim', age : 20},
reducers : {
changeName(state){
return {name : 'park', age : 20}
}
}
})
let user = createSlice({
name : 'user',
initialState : {name : 'kim', age : 20},
reducers : {
changeName(state){
state.name = 'park'
}
}
})
근데 state를 직접 수정하라고해도 변경 잘 됩니다.
state를 직접 수정하는 문법을 사용해도 잘 변경되는 이유는
Immer.js 라이브러리가 state 사본을 하나 더 생성해준 덕분인데 Redux 설치하면 딸려와서 그렇습니다.
그래서 결론은 array/object 자료의 경우 state변경은
state를 직접 수정해버려도 잘 되니까 직접 수정하십시오.
2.state 변경함수가 여러개 필요하면
근데 함수는 파라미터문법 이용하면 비슷한 함수 여러개 만들 필요가 없다고 했습니다.
state변경함수에도 파라미터문법 사용가능함
let user = createSlice({
name : 'user',
initialState : {name : 'kim', age : 20},
reducers : {
increase(state, a){
state.age += a.payload
}
}
})
'리액트 > 리덕스( Redux Toolkit)' 카테고리의 다른 글
Redux 쓰는 방법 1 (0) | 2022.06.01 |
---|