用函数局部应用优化反映渲染

Che*_*het 8 reactjs

React组件将props与对象引用相等进行比较,当您部分应用函数时,您将获得具有不同引用的新函数,这会导致react组件每次都触发重新呈现.

有人遇到过这个问题吗?

我有一个功能,可以在特定选项卡中呈现组件.其中一个道具this.setTab.bind(this, tab)每次都会返回一个新函数.如果有某种不变性帮助器允许它根据约束值相等,那将是非常酷的...

mik*_*1aj 0

如果您的render函数this.props依赖于和的数据this.state,您可以实现该shouldComponentUpdate方法来比较新旧 props 和状态,从而告诉 React 处理程序何时没有更改,以防止这些不必要的重新渲染。

但请注意:如果您的逻辑shouldComponentUpdate不正确(因此false当实际发生更改时它会返回),您的组件将停止更新。这些错误以后很难发现,所以要小心。(使用探查器来确定您是否真的需要这种特定的性能提升。)