IT/React
댓글 대댓글 추가하기
솔B
2022. 4. 12. 00:55

addComment: (state, action) => {
// 어느 게시글에 해당하는 댓글인지 찾기 위해 게시글의 id를 받아와 filter함수로 해당 게시글 찾기
const currentReview = state.data.filter(
(review) => review.postNumber === action.payload.postNumber,
);
// 해당 게시글에 새로운 댓글 추가
currentReview[0].comments.push(action.payload.newComment);
},
addRecomment: (state, action) => {
// 해당 게시글 찾기
const currentReview = state.data.filter(
(review) => review.postNumber === action.payload.postNumber,
);
// 현재 게시글의 어느 댓글인지 찾기 위해 댓글의 id를 받아와 해당 댓글 찾기
const currentComment = currentReview[0].comments.filter(
(comment) => comment.id === action.payload.commentId,
);
// 해당 댓글에 새로운 대댓글 추가
currentComment[0].recomment.push(action.payload.newRecomment);
},
여기서 나는 filter함수를 사용해 리턴값이 배열로 나와 currentReview에 [0]을 붙여줬다.
이 경우에서는 일치하는 요소가 하나이기 때문에 find함수를 사용하는 게 더 적절한 거 같다.