【问题标题】:Force update Child Component when Parent Component changed?父组件更改时强制更新子组件?
【发布时间】:2019-07-12 03:10:16
【问题描述】:

我正在使用图书馆。 图书馆有一些Props。 但是,看起来库在Props 更改时阻止了更新。 像这样:

shouldComponentUpdate(nextProps, nextState){
    return JSON.stringify(nextState) !== JSON.stringify(this.state)
}

所以,库只在componentDidMount 时渲染一次。 当Props 更改时,我如何强制更新或强制重新渲染或其他内容? 非常感谢

【问题讨论】:

  • 如果它是一个开源项目,你能告诉我们那个库是什么吗?
  • 当然:github.com/gregnb/mui-datatables,当props 名称“列”发生变化时。它不会重新渲染!

标签: reactjs react-props react-component


【解决方案1】:

您正在处理一个不受控制的组件,这意味着您无法更改其值,但您可以通过更改其key 重新安装它。但是,它可以在重新安装组件的state 中进行一些更改,但有时可以将子状态保持在父组件的state 中并将这些数据作为initialValue 或不管它有什么。

【讨论】:

    【解决方案2】:

    该代码意味着您的组件只有在状态发生变化时才会重新渲染。

    因此,如果您想在道具更改时重新渲染,只需删除 shouldComponentUpdate。因为,改变道具时重新渲染是基本的。

    【讨论】:

    • shouldComponentUpdate 在库中。
    • 一种方法是分叉库并将模块版本更改为该存储库
    猜你喜欢
    • 1970-01-01
    • 2017-11-03
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 2018-04-18
    • 2018-04-22
    • 2019-08-27
    相关资源
    最近更新 更多