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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)