강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김건희님의 프로필 이미지
김건희

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

질문있습니다

해결된 질문

작성

·

166

0

reducer폴더의 post.js에서

 case LOAD_POSTS_SUCCESS:
      draft.loadPostsLoading = false;
      draft.loadPostsDone = true;
      draft.mainPosts = draft.mainPosts.concat(action.data);
      draft.hasMorePosts = action.data.length === 10;
      break;

이 코드를

case LOAD_POSTS_SUCCESS:
      draft.loadPostsLoading = false;
      draft.loadPostsDone = true;
      draft.mainPosts = action.data;
      draft.hasMorePosts = action.data.length === 10;
      break;

이와같이 바꿔봤는데 똑같이 작동하더라구요?

draft.mainPosts = draft.mainPosts.concat(action.data);

draft.mainPosts = action.data;

이 둘의 차이점이 무엇인지 궁금합니다. 첫번째것은 mainPosts에 콘캣해서 배열을 합치는 것이고

두번째에서 action.data도 같은 기능을 하는것 같은데 무엇이 차이일까요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

첫 번째처럼 쓰셔야 나중에 데이터를 추가로 불러올 때 기존 데이터와 합쳐집니다. 두 번째처럼 하시면 데이터를 추가로 불러올 때 기존 데이터가 사라집니다.

김건희님의 프로필 이미지
김건희

작성한 질문수

질문하기