代码之家  ›  专栏  ›  技术社区  ›  Bryce York

强制子组件重新发送(反应)

  •  0
  • Bryce York  · 技术社区  · 8 年前

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

    如何让它完全重新呈现而不让供应商更新其代码?(他们的代码似乎有缺陷)

    我试过了 this.forceUpdate() 它不会完全重新渲染组件。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Bryce York    8 年前

    使用要监视的道具作为 key 正在尝试重新渲染的组件。

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

    ——

    如果您需要监控多个道具,请考虑以表示其目的的方式组合它们(如果一个道具改变了,它们都会改变)。下面假设它们都是字符串。

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