最近在开发的过程中遇到了一个问题:使用了echarts的路径图后,定时修改别的状态,不论状态和前一个是否一致,页面总是会刷新,然后图表也会一闪一闪的,感觉很难受,特意寻找了解决的办法,记录一下:
react中有一个生命周期方法:shouldComponentUpdate(nextProp,nextState),这个方法如果返回false的话就会阻止页面的更新,通过分别比对props和state的区别就可以判断是否需要更新视图,下面上代码
import _ from 'lodash';
.
.
.
shouldComponentUpdate(nextProps,nextState){
if(_.isEqual(nextProps.chart,this.props.chart)&&_.isEqual(nextState,this.state)){
return false;
}else{
return true;
}
}
// lodash是一个用于快捷操作对象、数组及其他类型数据的框架,里面封装了众多便利的方法,感兴趣的可以自行百度
以上就是对应的代码了 虽然比较简单,但是很实用,希望对各位有所帮助