【问题标题】:Access component state from redux action从 redux 操作访问组件状态
【发布时间】:2016-02-19 13:21:21
【问题描述】:

我需要保存各种组件onChange 事件的状态更改。因此我将它们保存在他们的状态中,因为直接保存到 redux 会导致大量重新渲染并损害用户体验,甚至有时会导致错误。现在,一旦用户单击某个按钮,我就需要获取所有这些组件的状态并将这些状态值推送到 redux(这一点很简单),但是如何访问将更新 redux 状态的操作中的所有组件状态?因为我需要单独访问它们。

【问题讨论】:

  • “因为直接保存到 redux 会导致大量重新渲染并损害用户体验,有时甚至会导致错误”。这似乎是真正需要解决的问题,因为这绝对不是我的经验。

标签: reactjs state redux


【解决方案1】:

首先,您应该检查应用程序的整个工作流程,因为将字段保存到 redux 不会对重新渲染产生很大的开销。

您还应该了解什么是 Actions(来自 Redux 的官方文档):

操作是信息的有效载荷,可从您的 应用到您的商店。他们是唯一的信息来源 商店。您使用 store.dispatch() 将它们发送到商店。

所以动作应该包含所有需要的数据。

如果您选择为整个表单触发一个操作,则可以采用这种方法(联系表单就是一个很好的例子,因为您只想在填满时才发送它)。

首先,当你点击按钮时,你应该调用父函数component(它包含所有需要的字段并且知道如何收集需要的日期)。
父组件的功能可以将所有字段值存储在它自己的state中,或者收集子components的states。
然后你就可以通过这个函数发送带有所需参数的动作(通常是从container传递的动作调度器)

官网有很好的解释:UsageWithReact

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-29
    • 2018-04-19
    • 2017-08-05
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多