【发布时间】:2018-12-23 02:58:54
【问题描述】:
我有一个第三方组件,当我传递给它的道具发生变化时,我需要完全重新渲染它。
如何在不让供应商更新其代码的情况下让它完全重新渲染? (似乎是他们代码的一个缺点)
我已经尝试过this.forceUpdate(),但它并没有完全重新渲染它们的组件。
【问题讨论】:
标签: reactjs
我有一个第三方组件,当我传递给它的道具发生变化时,我需要完全重新渲染它。
如何在不让供应商更新其代码的情况下让它完全重新渲染? (似乎是他们代码的一个缺点)
我已经尝试过this.forceUpdate(),但它并没有完全重新渲染它们的组件。
【问题讨论】:
标签: reactjs
使用您要监控的道具作为您尝试重新渲染的组件的key。
例如<ThirdPartyComponent key={this.props.foo} ...>
--
如果您需要监控多个道具,请考虑以一种代表其目的的方式将它们组合起来(如果其中一个发生变化,它们都会发生变化)。下面假设它们都是字符串。
例如<ThirdPartyComponent key={`${this.props.foo}/${this.props.bar}`} ...>
【讨论】: