React 中 setState同步异步

    科技2024-01-05  96

    setState可以同步也可以异步,主要看应用的场景 异步: 1. react 本身的事件 就是写在标签上面的事件,列如:onClick,onKeyDown,onChange 2. 在 生命周期里 setState 都是异步的 同步: 4. 自己注册的事件 5. setTimetou setTimeInteval 6. ajax 回调里 componentDidMount(){ 第一个 document.body.addEventListener("click",()=>{ this.setState({ name:"阿奎" }) console.log(this.state.name) }) 第二个 setTimeout(()=>{ this.setState({ name:"奎哥真帅" }) },1000) 第三个 axios.get("https://api.baxiaobu.com/index.php/home/v5/getuser") .then(res=>{ this.setState({ name:"加油奥利给" }) console.log(this.state.name) }) } setState改变值 //第一种改变值 this.setState((state,props)=>{//state是旧值 return{ age:state.age+1 } },()=>{ console.log(1111,this.state.age) }) //第二种改变值,并且获取新值 this.setState({ name:"詹姆斯" },()=>{ console.log(this.state.name) })
    Processed: 0.011, SQL: 8