我有一些关于redux的real-world example的问题。
与使用dispatch直接进行ajax调用的async example不同,真实世界的示例使用中间件来处理这个问题。在react应用程序中使用redux时,建议使用哪种方法?为什么?
我的猜测是中间件是可重用的,所以如果需要进行多个ajax调用,只要将不同的api路径作为参数传入,一个通用的ajax调用中间件就足够了。但是发货时可以说同样的事情......
中间件什么时候被执行?通过查看源代码并阅读文档,我的理解是:dispatch an action -> all middlewares get executed , ajax calls can be made here and the returned json data can be put inside the action object and pass it onto the reducers-> reducers get executed
。我是对的吗?
答案 0 :(得分:8)
与使用dispatch直接进行ajax调用的异步示例不同,真实示例使用中间件来处理此问题。在react应用程序中使用redux时,建议使用哪种方法?为什么?
使用你喜欢的。不同的人有不同的偏好。有些人想要像中间件提供的简洁代码,有些人则更喜欢显性和稀疏性。
中间件什么时候被执行?通过查看源代码并阅读文档,我的理解是:发送一个动作 - >所有中间件都被执行,可以在这里进行ajax调用,并且可以将返回的json数据放入action对象中并将其传递给reducers->减速器被执行。我是对的吗?
这听起来很正确。每个中间件都可以是异步的,并将操作传递给下一个中间件。当它们到达减速器时,它们需要是普通物体。 Async Flow和Middleware文档提到了这一点。