【问题标题】:React Context API and/or React-Redux-ThunkReact 上下文 API 和/或 React-Redux-Thunk
【发布时间】:2020-08-15 01:20:44
【问题描述】:

我使用 Context API 进行多商店管理,使用 React-Redux 和 thunk 进行单个商店管理。

我应该坚持一个而不是另一个,还是应该使用 React-Redux 来管理 React 的 Context API 上的多个商店。

我与一位朋友交谈过,他为他的公司与我相反,我想知道为什么但从未得到解释。

最佳做法是什么?

【问题讨论】:

    标签: reactjs react-redux react-hooks store


    【解决方案1】:

    React Context API 有点难以管理,你可以使用redux 来代替管理状态。 react-redux 只是用作reactredux 之间的连接器。

    您可以执行以下操作以获得最佳实践:

    • 对于多商店管理,您可以联系redux
    • 要连接reactredux,您可以选择react-redux
    • 对于中间件,您可以选择redux-thunkredux-saga

    我更喜欢redux-saga,因为它比redux-thunk更有优势。

    【讨论】:

      【解决方案2】:

      Redux 对于大型应用程序过去和现在都非常流行,在这些应用程序中,您需要能够维护单一的事实来源,但将商店的不同部分作为道具传递给各种组件。这个包的优点是它可以使调试更容易,并且如果实施正确,它非常健壮。

      就 redux 中间件而言,它们通常用于异步集成。 Thunk 和 Saga 是两个流行的库。上下文应该能够在没有任何其他依赖项的情况下处理异步。

      Context API 是作为 React 16.3 的一部分发布的新功能,可以更轻松地创建商店,但在我看来,它可能更难以扩展。我没有太多使用 Context API 的经验,但它已经变得非常流行,对于有经验的开发人员来说,redux 可以做任何事情。

      我会说,当一种方法同样有效时,通常不鼓励同时使用这两种方法。话虽这么说,我管理的一个应用程序同时使用了这两者,因为当它第一次创建时 Context API 16.3 尚未发布,所以 redux 是整个应用程序的唯一状态管理器,但后来一些本地化组件状态被更新为拥有自己的上下文店铺。不过,我认为这不是最佳做法。

      详细了解技术差异here

      【讨论】:

        猜你喜欢
        • 2019-02-02
        • 2020-09-21
        • 2021-06-03
        • 2018-06-18
        • 2017-08-28
        • 2023-03-13
        • 2019-03-15
        • 2016-11-19
        • 2018-03-05
        相关资源
        最近更新 更多