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함수를 사용하는 게 더 적절한 거 같다.