老师中间价配置的前后顺序对结果有影响吗?

来源:5-5 Middleware(中间件)

郭纯

2019-02-04


createStore(rootReducer, composeEnhancers(applyMiddleware(thunkMiddleware, loggerMiddleware)))

如果thunkMiddleware 和 loggerMiddleware 顺序交换 有影响吗

如果没有? 为什么。

写回答

1回答

艾特老干部

2019-02-07

你好,中间件插入的顺序是会对结果产生影响的。每一个dispatch出的action会依次(按照中间件插入的顺序)经过每一个中间件的处理的。thunkMiddleware是用来处理异步action的,action的类型为函数类型,而loggerMiddleware只能处理普通的plain object类型的action,所以顺序上需要在thunkMiddleware之后,等thunkMiddleware将函数类型的action处理转换成plain object类型的action,在发挥作用。

为了验证结论,你可以将两者的顺序调换下,看下控制台的输出日志,日志中会有undefined的记录,就是因为loggerMiddleware无法识别函数类型的action。

祝学习顺利!



1
0

React16+Redux实战企业级大众点评Web App

从架构设计到部署上线,带你学习React技术栈与核心思想

1071 学习 · 306 问题

查看课程