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

김가가가님의 프로필 이미지
김가가가

작성한 질문수

Redux vs MobX (둘 다 배우자!)

리덕스를 쓰지 말아야 할 때(비동기)

불변성 유지에서 궁금한점

해결된 질문

작성

·

211

0

addPost에 unshift는 return을 쓰지 않아도 변경 되는데

deletePoast의 filter는 return을 사용해야지만 적용이 됩니다.

혹시 왜그런지 알 수 있을까요? 찾아봐도 나오지가 않네요...

export const postSlice = createSlice({
  name: "post",
  initialState: [] as IPost[],
  //동기처리 & 내부적 액션
  reducers: {
    addPost: (stateaction=> {
      state.unshift(action.payload);
    },
    deletePost: (stateaction=> {
      return state.filter((element=> element.id !== action.payload);
    },
    resetPost: (stateaction=> {
      return [];
    },
  },
  //비동기 처리 & 외부적 액션
  extraReducers: {},
});

답변 1

0

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

filter는 기존 배열을 수정하는 게 아니라 새로운 배열을 생성합니다. 기존 배열을 수정하는 것만 immer가 알아들을 수 있습니다.

김가가가님의 프로필 이미지
김가가가

작성한 질문수

질문하기