gpt4 book ai didi

reactjs - 将 react 钩子(Hook)与 redux-saga(或任何其他中间件)结合使用

转载 作者:行者123 更新时间:2023-12-04 10:05:27 24 4
gpt4 key购买 nike

之前已经在这里问过这个问题,但是我还没有找到任何正确的答案,只是想知道我是否错过了任何东西,或者这确实是目前不可能的。

具体来说,钩子(Hook)和 redux-saga(或任何其他中间件)之间有两个主要区别:

  • 在 redux-saga 中,我可以在 Action 分派(dispatch)时触发代码执行,而在钩子(Hook)中,我只能在状态更改时触发代码执行。这两个并不总是等价的
  • 钩子(Hook)必须存在于组件的上下文中,但是一些“背景”逻辑(例如初始化、位置检测等)与特定组件无关。在 redux-saga 中,我可以灵活地在“全局范围”中定义它,而在钩子(Hook)中,我必须将它附加到一些“随机”组件(可能是 App 或任何其他高级组件)。

  • 那么,是否有可能以某种方式在这两种方法之间“架起”桥梁,或者我应该为每种特定情况选择最合适的技术?

    最佳答案

    它们是解决不同问题的不同工具。 Hook 在内部工作于功能组件的状态和生命周期。 Redux 在内部工作于整个 React 应用程序的状态和生命周期。 Sagas 有助于解决异步效果,例如外部数据获取。

    一般来说,您希望尽可能地限制变量和逻辑的范围。如果特定的“状态”仅与单个组件相关,则将其保持在组件状态。但是,如果有几个组件或应用程序本身需要它,则将其存储在应用程序状态中。同样适用于异步调用。如果只有一个组件使用单个外部调用,请将其保留在那里,但如果多个组件可以进行相同的外部异步调用,则让 sagas 处理它们。

    您可以根据需要在每个组件中尽可能多地或尽可能少地使用来解决您的问题。

    关于reactjs - 将 react 钩子(Hook)与 redux-saga(或任何其他中间件)结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61607526/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com