Redux Toolkit 是 Redux 的官方工具集,旨在简化 Redux 的使用。它内置了对异步逻辑的支持,因此通常不需要额外添加中间件如 Redux Promise Middleware。但是,如果你确实需要在 Redux Toolkit 中使用 Redux Promise Middleware,可以按照以下步骤进行:
Redux Promise Middleware 允许你以 Promise 的形式 dispatch 一个 action,当 Promise 被 resolve 或 reject 时,它会自动 dispatch 相应的成功或失败 action。
适用于需要处理异步请求(如 API 调用)的场景。
问题: Redux Promise Middleware 没有正确处理 Promise。
原因: 可能是因为中间件没有正确配置或 action creator 返回的不是一个 Promise。
解决方法:
// 确保中间件已正确添加
const store = configureStore({
reducer: rootReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(promiseMiddleware),
});
// 确保 action creator 返回的是一个 Promise
export const fetchData = () => {
return {
type: 'FETCH_DATA',
payload: new Promise((resolve, reject) => {
// 模拟异步请求
setTimeout(() => {
resolve({ data: 'some data' });
}, 1000);
}),
};
};
通过以上步骤,你可以在 Redux Toolkit 中使用 Redux Promise Middleware 处理异步操作。
领取专属 10元无门槛券
手把手带您无忧上云