강의

멘토링

로드맵

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

YS님의 프로필 이미지
YS

작성한 질문수

Redux vs MobX (둘 다 배우자!)

createAsyncThunk로 비동기 처리하기

delete 시 slice extraReducer에서 id는 어떻게 받나요?

작성

·

224

0

createAsyncThunk에서 삭제 api를 보내고 응답값은 보통 statusCode와 삭제메시지정도인데... slice의 extraReducer에서 id를 어떻게 받아서 state에서 삭제하는 방법이 무엇인지요??

export const deleteItem = createAsyncThunk(
`item/deleteItem`,
async (id, thunkAPI) => {
const response = await axios.delete(
`/api/items/${id}`,
tokenConfig(thunkAPI.getState)
);
return response.data;
}
 
const itemSlice = createSlice({
name: `item`,
initialState: { items: [], isLoading: false },
reducers: {},
extraReducers: {
[getItems.fulfilled]: (state, action) => {
state.items = action.payload;
state.isLoading = false;
},

[addItem.fulfilled]: (state, action) => {
state.items.push(action.payload);
state.isLoading = false;
},

[deleteItem.fulfilled]: (state, action) => {
id???
},
},
});

퀴즈

Redux Toolkit을 사용했을 때 얻을 수 있는 주요 이점은 무엇일까요?

기존 Redux 코드의 양이 크게 늘어납니다.

자주 사용하는 기능(Thunk, Immer 등)이 내장되어 설정이 간편해집니다.

Redux DevTools를 더 이상 사용할 수 없습니다.

비동기 처리를 위해 Saga와 같은 미들웨어를 반드시 사용해야 합니다.

답변 1

0

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

action.meta.arg에 id가 들어있을 겁니다. asyncThunk에서 인자로 받았던 게 action.meta.arg로 이어집니다.

YS님의 프로필 이미지
YS

작성한 질문수

질문하기