首页 > 解决方案 > 如何使用带有反应钩子的 redux 状态

问题描述

所以我们最近决定开始在我们当前的 react 应用程序中使用钩子。我们正在使用 redux 进行状态管理,我的问题是这如何与钩子一起工作?

我读过一些文章,其中人们使用带有钩子的上下文 api 来创建状态管理器,但我现在想继续使用 redux。

我知道 react api 有一个useReducer方法,这可以用来调度 redux 动作吗?我一直在寻找教程/示例,但似乎无法在网上找到任何资源。我可能走错了路,但我想知道我是不是。谢谢。

标签: reactjsreduxreact-hooks

解决方案


使用 Redux 时,钩子没有任何变化,Redux 高阶组件与 Hooks 无关。useReducer不是为了调度 Redux 动作,而是像 Redux 一样更新组件内部状态。

因此,当您使用时,useReducer您将调度操作,使用 reducer 等更新状态,而不是 Redux 状态!相反,您正在使用组件状态执行此操作。

消费的组件useReducer是一个标准组件,其内部状态(用于管理输入状态或任何你想要的)包装,像往常一样在钩子诞生之前,在 Redux 的连接 HOC 中。

如果有帮助,您可以通过这篇文章阐明您的想法


推荐阅读