인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

YS님의 프로필 이미지
YS

작성한 질문수

Redux vs MobX (둘 다 배우자!)

createAsyncThunk로 비동기 처리하기

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

작성

·

203

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???
},
},
});

답변 1

0

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

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

YS님의 프로필 이미지
YS

작성한 질문수

질문하기