작성
·
121
0
수업 열심히 듣고있습니다 제로초님! 감사합니다
댓글 구현 수업이 끝나고 onSubmit 에 대한 추가기능없이 이미지로 넘어가시길래
이후 과정을 살펴보니 saga를 이용해서 댓글 작성을 구현하시길래
수업듣기전에 먼저 아래와 같이 작성해봤습니다.
제가 알기로 map 은 새로운 참조를 갖는 객체를 반환하게 되는데,
아래와 같이 작성하면 새로운 state를 갖게 되는 것 아닌가요?
댓글이 추가되긴 하는데, 댓글 컴포넌트를 껐다 켜야 적용되는 것을 보니 불변성에 문제가 있는 것 같은데
이해가 잘 안되서 질문드리게 되었습니다.
const reducer = (state = initialState, action) => {
switch(action.type){
case ADD_POST:
return {
...state,
mainPosts:[dummyPost, ...state.mainPosts],
postAdded: true,
}
case ADD_COMMENT:
return {
...state,
mainPosts: state.mainPosts.map(item => {
if(item.id === action.data.id){
item.Comments.unshift(action.data.comment);
return item;
}
})
}
default:
return state;
}
}