【问题标题】:React: trigger class method based on redux state changeReact:基于redux状态变化触发类方法
【发布时间】:2021-04-27 07:44:03
【问题描述】:

我有一个类A,它是一个富文本编辑器。它包含一个state,当我在文本字段中写入时会更新。

然后我有一个带有按钮的组件B。当我单击按钮时,我希望组件 A 将文本编辑器数据发送到服务器。

组件B修改Redux状态,然后将该状态传递给props中的A类。

然后如何触发 A 类发送数据?

  1. componentDidUpdate 当状态在 props 中发送并发生变化时起作用,但它也由文本编辑器触发,所以每次我在文本编辑器中写信时它都会发送数据
  2. static getDerivedStateFromProps 的工作方式与 componentDidUpdate 的工作方式相同,但似乎是一个错误的解决方案,因为它应该在状态依赖于 props 时使用。我只想触发一个类方法。

我正在使用 redux。现在看来我可以通过回调来做到这一点,但让我们坚持使用通过 props 传递状态的 redux(而不是 connect,这似乎是另一种方式)

【问题讨论】:

    标签: reactjs redux


    【解决方案1】:

    我认为你应该使用componentDidUpdate 并比较这样的道具。它只在你传递给 A 类的 prop 时发送数据。

    componentDidUpdate(prevProps) {
      // Typical usage (don't forget to compare props):
      if (this.props.userID !== prevProps.userID) {
        this.fetchData(this.props.userID);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-02-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 2017-01-23
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多