doubleyong
管理员
管理员
  • 最后登录2025-12-02
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:6488回复:0

[react]redux过程中遇到Actions must be plain objects. Use custom middleware for async actions.异常的分析

楼主#
更多 发布于:2019-04-14 18:55
原因一:使用异步actions时,没有配置redux-thunk这个中间件
中间件就是一个函数,对store.dispatch方法进行了改造,在发出 Action 和执行 Reducer 这两步之间,添加了其他功能。

import { applyMiddleware, createStore } from 'redux';
import createLogger from 'redux-logger';
const logger = createLogger();

const store = createStore(
  reducer,
  applyMiddleware(logger)
);

上面代码中,redux-logger提供一个生成器createLogger,可以生成日志中间件logger。然后,将它放在applyMiddleware方法之中,传入createStore方法,就完成了store.dispatch()的功能增强。

const store = createStore(
  reducer,
  applyMiddleware(thunk, promise, logger)
);
applyMiddleware 是Redux 的原生方法,作用是将所有中间件组成一个数组,依次执行。

作者:子喻爱吃黄焖鸡
链接:https://www.jianshu.com/p/4814d3b4da1b
来源:简书
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号