React通过生命周期优化

shouldComponentUpdate

React组件中,组件是否更新,
nextProps:变化后的属性;
nextState:变化后的状态;
优化原理:通过判断变化后的熟悉,与之前传递给组件的(部分)属性进行比较,如果修改渲染刷新,返回true,不渲染返回false
通常传递的数据多,比较需要的属性,可能是数组,可能是值,
简单数组可以通过JSON.stringify 转字符串来比较
是单个值,比较两者是否相等 ===

shouldComponentUpdate(nextProps, nextState) {
        // console.log(JSON.stringify(nextProps.list))
        console.log(nextProps)
        if(nextProps.value !== this.props.value){
        	return true;
        }
        if(JSON.stringify(nextProps.list) !== JSON.stringify(this.props.list)){
            return true;
        }else{
            return false;
        }
    }

react中一旦对state进行setState操作,无论是否修改数据,都会重新更新组件,所以要有优化的必要
react组件开发中,建议输入框和列表分开设计,防止重复渲染,实现优化

React性能优化

你可能感兴趣的:(React)