强制子组件重新渲染(反应)

时间:2018-07-15 09:14:36

标签: reactjs

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

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

我尝试了this.forceUpdate(),但是它并没有完全重新呈现其组件。

1 个答案:

答案 0 :(得分:0)

将要监视的道具用作要重新渲染的组件的key

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

-

如果您需要监视一个以上的道具,则可以考虑以一种代表其目的的方式组合它们(并且如果一个改变,它们都会改变)。下面假设它们都是字符串。

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