如何解决redux-toolkit extraReducers没有被调用
我正在尝试createAsyncThunk,但无法启动extraReducers。这是我现在所拥有的:
export const getAllAgents = createAsyncThunk(
"getAllAgents",async (token: string) => {
let headers = new Headers();
headers.append("Authorization",`Bearer ${token}`);
headers.append("Content-Type","application/json");
const response = await fetch(`${API.endpoint}/data/agent`,{
method: "get",headers,redirect: "follow",});
const data = await response.json();
console.log("Response in thunk: ",{ data });
return data;
}
);
export const agentSlice = createSlice({
name: "agentSlice",initialState,reducers: {},extraReducers:
//builder call back required for typesafety
//https://redux-toolkit.js.org/usage/usage-with-typescript#type-safety-with-extrareducers
(builder) => {
console.log(createNewAgent.fulfilled);
builder.addCase(createNewAgent.fulfilled,(state,action) => {
console.log("fulfilled action",{ action });
});
console.log(getAllAgents.fulfilled);
builder.addCase(getAllAgents.fulfilled,action) => {
state.agents = action.payload.agents;
});
},});
什么是不对?
解决方法
我遇到了同样的问题。我的错误是我在 extraReducers 之外添加了 reducer。
这是错误的:
const authSlice = createSlice({
name: 'auth',initialState,extraReducers: {
[login.fulfilled]: (state,action) => {},},[signUp.fulfilled]: state => {}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。