错误:操作必须是普通对象。相反,实际的类型是:'Promise'。您可能需要添加中间件
Posted
技术标签:
【中文标题】错误:操作必须是普通对象。相反,实际的类型是:\'Promise\'。您可能需要添加中间件【英文标题】:Error: Actions must be plain objects. Instead, the actual type was: 'Promise'. You may need to add middleware错误:操作必须是普通对象。相反,实际的类型是:'Promise'。您可能需要添加中间件 【发布时间】:2021-12-10 20:20:39 【问题描述】:我正在尝试使用 dipatch 获取用户和客户端列表,但出现以下错误: “错误:动作必须是普通对象。相反,实际类型是:'Promise'。您可能需要在商店设置中添加中间件来处理调度其他值,例如 'redux-thunk' 来处理调度函数。”
这是我得到错误的代码:
useEffect(() =>
dispatch(ListClients());
dispatch(ListUsers());
, [dispatch]);
【问题讨论】:
【参考方案1】:ListClients() 和 ListUsers 的定义是什么?
我很确定您的代码应该如下所示:
useEffect(() =>
dispatch(ListClients);
dispatch(ListUsers);
, [dispatch]);
或者你的函数没有正确的签名。
【讨论】:
我刚刚注意到我没有从正确的路径导入方法!感谢您提及检查函数的定义!以上是关于错误:操作必须是普通对象。相反,实际的类型是:'Promise'。您可能需要添加中间件的主要内容,如果未能解决你的问题,请参考以下文章
Redux thunk - 错误 · 动作必须是普通对象。使用自定义中间件进行异步操作,即使调度具有键类型的对象
Redux 错误操作必须是普通对象。使用自定义中间件进行异步操作