state props 的改变导致重新渲染
开发中遇到这样一个问题,封装一个upload组件,然后通过props进行组件间的通信,当上传完图片后,在输入其它的内容时,会导致图片上传列表再次渲染,于是就想到了shouldComponentUpdate(nextProps,nextState)周期函数,利用其中的nextProps进行优化,具体方法如下:
shouldComponentUpdate(nextProps,nextState){
if(this.props.num===nextProps.num){
//不做渲染
return false
}
以上方法就解决了组件的重复渲染问题;
另外一种方法是使用继承react的PureComponent组件,它可以实现在state,props不变的情况下避免组件的重复渲染问题,当然它并不是万能的,它不能像shouldComponentUpdate实现自己定制化。