我有一个第三方组件,当传递给它的道具发生变化时,我需要完全重新渲染。
如何在不让供应商更新其代码的情况下完全重新渲染它? (似乎是他们代码中的一个缺点)
我尝试了this.forceUpdate()
,但是它并没有完全重新呈现其组件。
答案 0 :(得分:0)
将要监视的道具用作要重新渲染的组件的key
。
例如<ThirdPartyComponent key={this.props.foo} ...>
-
如果您需要监视一个以上的道具,则可以考虑以一种代表其目的的方式组合它们(并且如果一个改变,它们都会改变)。下面假设它们都是字符串。
例如<ThirdPartyComponent key={`${this.props.foo}/${this.props.bar}`} ...>