인프런 커뮤니티 질문&답변
게시글 삭제 시, 얕은 복사를 사용하지 않는 이유가 궁금합니다.
해결된 질문
작성
·
249
0
[ 게시글 삭제 saga 작성하기 ] 수강 중 질문 드립니다.
이전 댓글을 추가할때는 reudce에서
    case ADD_COMMENT_SUCCESS: {
      const postIndex = state.mainPosts.findIndex(v => v.id === action.data.postId);
      const post = { ...state.mainPosts[postIndex] }; // 얕은 복사
      const Comments = [action.data, ...post.Comments];
      const mainPosts = [...state.mainPosts];
      mainPosts[postIndex] = {
        ...post,
        Comments,
      };
      return {
        ...state,
        mainPosts,
        addCommentLoading: false,
        addCommentDone: true,
        addCommentError: false,
      };
    }이런식으로 얕은 복사를 하셨는데요.
      case REMOVE_POST_SUCCESS: {
      const mainPosts = state.mainPosts.filter(v => v.id !== action.data.id);
      return {
        ...state,
        mainPosts,
        removePostLoading: false,
        removePostDone: true,
        removePostError: false,
      };
    }게시글을 삭제할때는 왜 'state.mainPosts'를 얕은 복사해서 조작하지 않는 건지 궁금합니다.
혹시 filter가 기존 state.mainPosts 을 수정하지 않으며, 새로운 배열을 return하기에 얕은 복사가 필요없는 건가요?
답변 기다리겠습니다.
감사합니다 :)





감사합니다!