let user = createSlice({
name : 'user',
initialState : {name : 'hwarang', age : 24},
reducer : {
changeName(state){
return {name : 'ranghwa', age : 24}
}
}
})
위 코드처럼 return을 사용해서 state를 통채로 바꿔도 되지만
changeName(state){
state.name = 'ranghwa'
}
이처럼 state를 직접 수정해도 된다
changeAge(state){
state.age += 1
}
나이를 증가시키는 함수도 만들어서 export, import하여 사용할 수 있다.
이때 증가시키는게 1이 아니라 10, 100 등 원하는 만큼 유동적으로 증가시키고 싶다면?
state변경함수에 파라미터를 사용해서 가능하다
changeAge(state, action){
state.age += action.payload
}
이처럼 action이라는 파라미터를 생성해서 이후 함수를 호출할때 changeAge(10), changeAge(100) 등 유동적으로 함수를 실행시킬 수 있다.