ank*_*itm 4 typescript reactjs redux redux-toolkit
我正在尝试 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, (state, action) => {
state.agents = action.payload.agents;
});
},
});
Run Code Online (Sandbox Code Playgroud)
有什么不对吗?
我有同样的问题。我的错误是我在 extraReducers 之外添加了减速器。
这是错误的:
const authSlice = createSlice({
name: 'auth',
initialState,
extraReducers: {
[login.fulfilled]: (state, action) => {},
},
[signUp.fulfilled]: state => {}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3919 次 |
| 最近记录: |