[react] 为什么建议setState的第一个参数是callback而不是一个对象呢?
React 为了优化性能,有可能会将多个 setState() 调用合并为一次更新。
 因为this.props和this.state 可能是异步更新的,你不能依赖他们的值计算下一个state(状态)。以下面的代码为例:
this.setState({
 counter: this.state.counter + this.props.increment,
 });
 我们并不能通过上述代码得到想要的值,为了弥补这个问题,使用另一种 setState() 的形式,接受一个函数。这个函数将接收前一个状态作为第一个参数,应用更新时的 props 作为第二个参数,代码如下:
this.setState((prevState, props) => ({
 counter: prevState.counter + props.increment
 }));
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
 但坚持一定很酷。欢迎大家一起讨论
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号