javascript - redux里面的middleware是什么意思?
PHP中文网
PHP中文网 2017-04-11 12:20:38
[JavaScript讨论组]

redux里面,异步要用middleware来处理。这个怎么理解?比如我发一个ajax,然后在回调里面去dispatch(action),这样不可以吗?为什么要用到middleware?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
ringa_lee

你的方法是可以的,只要能拿到dispatch方法即可。
middleware本质上是对dispatch的替换。
支持异步action的中间件thunk的主要作用是给你的action creator注入dispatch,让你在异步的回调中能够拿到dispatch并使用。

天蓬老师

楼上答案思路是对的,但是我认为,其实middleware本质是对原本store中的dispatch方法的强化。如果你需要一些额外的功能,比如打印用户请求日志,就可以对dispatch方法进行强化。

redux是flux的一个实现,也只是一个模式的实现。更多用户需要的定制化的东西,就需要这个中间件的东东了。

为redux提供中间件的接口是很聪明的,这样就会产生无数优秀的中间件,也在另一方面促进了框架的繁荣。

所以对你本身的代码来讲,这么做是可以的,但是redux的设计者显然考虑的更多。

PHP中文网

middleware 本质是一个多层函数的柯里化,主要作用在于两点:

  1. 可以对数据流做集中的处理,而且可以在多个 middleware 之间串联

  2. 通过注入的 dispatch 和 getState 可以方便的访问到当前的状态,可以对其做额外进行处理,也能异步的 dispatch 当前的 action

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号