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"}
react16版本之后开发中的注意点之setState异步
最新推荐文章于 2024-03-14 17:24:49 发布