【问题标题】:Redux questions about the real-world example关于真实示例的 Redux 问题
【发布时间】:2016-01-15 05:31:15
【问题描述】:

我有几个关于redux的real-world example的问题。

  1. async example 的ajax 调用是直接使用dispatch 不同,实际示例使用中间件来处理这个问题。在 react 应用程序中使用 redux 时推荐哪种方法?为什么?

    我的猜测是中间件是可重用的,所以如果需要进行多个ajax调用,只要传入不同的api路径作为参数,一个通用的ajax调用中间件就足够了。但是 dispatch 也可以这样说...

  2. 什么时候执行中间件?通过查看源代码和阅读文档,我的理解是: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。我说的对吗?

【问题讨论】:

    标签: reactjs redux


    【解决方案1】:

    与直接使用 dispatch 进行 ajax 调用的异步示例不同,实际示例使用中间件来处理此问题。在 react 应用程序中使用 redux 时推荐哪种方法?为什么?

    使用你喜欢的。不同的人有不同的喜好。有些人想要像中间件提供的那样简洁的代码,有些人更喜欢明确和稀疏。

    中间件什么时候执行?通过查看源代码和阅读文档,我的理解是:dispatch an action -> all middlewares get executed ,在这里可以进行ajax调用,返回的json数据可以放在action对象中并传递给reducers- > 减速器被执行。我说的对吗?

    这听起来是正确的。每个中间件都可以是异步的,并将操作传递给下一个中间件。当它们到达减速器时,它们需要是普通对象。 Async FlowMiddleware 文档提到了这一点。

    【讨论】:

    • 谢谢丹!没想到会得到Redux作者的回答!我从 redux-master 存储库中包含的示例中学到了很多东西,非常感谢!
    猜你喜欢
    • 2017-08-27
    • 2016-01-17
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 2021-11-26
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多