react16版本之后开发中的注意点之setState异步

setState(setState底层为异步的原因)
      防止短时间内多次修改setState影响虚拟dom的比对及render方法的执行。因此,setState是异步函数。那么及时获取state数据 
      就要在异步函数执行完毕而非按照代码从上到下的执行来获取。
                 如: state = {inputValue:"12"};

                          this.setState(( prevState )=>({
                                   inputValue:''
                          }),()=>{
                                   console.log(this.state);   //第一   获取异步setState执行之后的state数据
                          });
                                  console.log(this.state);    //第二   获取异步setState执行之前的state数据
        
      第一获取的是 {inputValue:""}
      第二获取的是 {inputValue:"12"}

   

你可能感兴趣的:(react)