【问题标题】:Is this React bug or an amazing React feature?这是 React 的 bug 还是一个惊人的 React 特性?
【发布时间】:2020-01-25 17:28:16
【问题描述】:

我正在尝试将具有 10 行数组的对象发送到组件。 组件需要保留旧数据,仅将新数组连接到现有数组。

当我尝试检查 componentDidUpdate 中的数组并连接到我的旧数据状态时,我注意到我得到了两次数据!

然后我删除了componentDidUpdate,没有任何额外的setState,当新的props到来时,数组的状态被连接!

这很奇怪,我不知道这是怎么回事。这是我不知道的 React 中的错误还是功能?

componentDidMount() {
    const { data } = this.props;

    this.setState({
      allData: data
    });
  }

所以这一切都是在 setState 方面发生的。当新的数据道具出现时,它会不断添加到 allData 中!!!!

【问题讨论】:

  • 我认为你应该了解反应状态和生命周期。这个document对你有帮助。
  • 这没有任何意义。我知道生命周期,我的意思是我没有更新 allData 并且它会自动发生?!?!

标签: reactjs state react-props react-state


【解决方案1】:

尝试使用 getDerivedStateFromProps 看起来更适合您想要做的事情

【讨论】:

    猜你喜欢
    • 2022-11-14
    • 2020-03-30
    • 1970-01-01
    • 2017-12-05
    • 2019-08-02
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 2020-07-01
    相关资源
    最近更新 更多