Redux
에 대한 공부를 이어가면서 계속 state
가 변경되는 시점에서 변경 이후 바로 로 값이 바뀌는 아주 특이한 오류가 발생했다.
진짜 왜 그런건지 아주 애먹었지만! 결국 알아내서 여기 적어둔다.
store.js
export const modifier = (state = initialize, action) => {{
switch (action.type){
case "MOD":
return {
name: action.name, artist: action.artist, imgurl: action.imgurl, visible: action.visible
}
case "VISIBLE":
return {
visible: action.visible
}
default:
return state
}
}}
위는 본래의 코드였다.
저기서 return
값으로 본래의 state
를 spread
문법을 사용한 ...spread
로 넣어주지 않은 채로 새로운 값만 선언을 하여 생긴 문제였다...
그래서 다음의 코드와 같이 수정하였다.
store.js
(...)
return {
...state,
name: action.name, artist: action.artist, imgurl: action.imgurl, visible: action.visible
}
case "VISIBLE":
return {
...state,
visible: action.visible
}
(...)
이와 같이 고쳐야 정확하게 return
값으로 state
가 수정됨을 확인할 수 있었다.
state
를 불러오는 것을 습관화하자!