防止React

防止React,第1张

防止React

我的猜测是您的组件会重新渲染,因为

prop
在进行路由器推送时您所做的更改有所改变。我怀疑这可能是的
action
key
属性
prop.location
。您总是可以检查
prop
每个渲染期间的所有值,以查看发生了什么变化。

您可以通过将您的旧路径路径与

shouldComponentUpdate
生命周期方法中的新路径路径进行比较来解决此问题。如果尚未更改,则您位于同一条路线上,可以通过返回阻止重新渲染
false
。在其他所有情况下,请返回
true
。默认情况下,它始终返回true。

shouldComponentUpdate: function(nextProps, nextState) {  if(this.props.route.path == nextProps.route.path) return false;  return true;}

您将必须进行进一步的检查,因为这也将阻止您的组件

state
在组件内的更新上进行更新,但是我想这将是您的起点。

shouldComponentUpdate
在官方的 react
docs
页面上了解更多信息。

当您确定过渡到新的道具和状态将不需要组件更新时,可以利用此机会返回false。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4881764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存