【问题标题】:Force child component to rerender (React)强制子组件重新渲染(React)
【发布时间】:2018-12-23 02:58:54
【问题描述】:

我有一个第三方组件,当我传递给它的道具发生变化时,我需要完全重新渲染它。

如何在不让供应商更新其代码的情况下让它完全重新渲染? (似乎是他们代码的一个缺点)

我已经尝试过this.forceUpdate(),但它并没有完全重新渲染它们的组件。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    使用您要监控的道具作为您尝试重新渲染的组件的key

    例如<ThirdPartyComponent key={this.props.foo} ...>

    --

    如果您需要监控多个道具,请考虑以一种代表其目的的方式将它们组合起来(如果其中一个发生变化,它们都会发生变化)。下面假设它们都是字符串。

    例如<ThirdPartyComponent key={`${this.props.foo}/${this.props.bar}`} ...>

    【讨论】:

      猜你喜欢
      • 2016-12-31
      • 1970-01-01
      • 2020-07-31
      • 2020-05-01
      • 2014-04-20
      • 2017-05-08
      • 2019-04-12
      • 1970-01-01
      • 2020-07-07
      相关资源
      最近更新 更多