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함수를 사용하는 게 더 적절한 거 같다.
'IT > React' 카테고리의 다른 글
React cdn 방식으로 시작하기 (php파일에서 리액트 사용하기) (0) | 2022.06.02 |
---|---|
듀얼 셀럭터 (0) | 2022.04.15 |
[TIL] React에 ESLint와 Prettier 설정 (0) | 2022.02.28 |
Infinite scroll 구현하기 (0) | 2022.02.16 |
nodejs 버전 변경 (0) | 2022.02.14 |