React - Redux state가 array/object일 때 state 변경법

thisishwarang·2023년 1월 3일
0
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) 등 유동적으로 함수를 실행시킬 수 있다.

출처 : https://codingapple.com/

0개의 댓글

Powered by GraphCDN, the GraphQL CDN