• react setState异步变同步


    /*
     * @Author: shihaixia
     * @Date: 2022-02-11 15:25:43
     * @Description: 
     */
    
    import React, { Component } from 'react';
    
    export default class Home extends Component {
      constructor(props){
        super(props);
        this.state={
          count:0
        };
      }
      componentDidMount(){
        // 第四种
        // document.getElementsByTagName("button")[0].addEventListener('click',()=>{
        //   this.setState({
        //     count:this.state.count+2
        //   })
        //   console.log("第4种=======》",this.state.count)
        // })
      }
      setCount=()=>{
        // 异步
        // this.setState({
        //   count:this.state.count+1
        // })
        // this.setState({
        //   count:this.state.count+2
        // })
        // 变同步
        // 第一种
        // this.setState(nextState=>{
        //   return {
        //     count:nextState.count+1
        //   }
        // })
        //  this.setState(nextState=>{
        //   return {
        //     count:nextState.count+2
        //   }
        // })
        //console.log("异步============>",this.state.count) //打印出来0,页面为2
        // 方法二
        // setTimeout(() => {
        //    this.setState({
        //   count:this.state.count+1
        // })
        //   this.setState({
        //   count:this.state.count+2
        // })
        // }, 0);
        // console.log("第2种",this.state.count) 
    
        // 方法三
         this.setState({
            count:this.state.count+2
        },()=>{
           console.log("第3种============》",this.state.count) 
        })
      }
    
      render() {
        const {count} =this.state;
        return <div>
          <p>{count}</p>
          <button onClick={this.setCount}>点击</button>
        </div>;
      }
    }
    
    
  • 相关阅读:
    我爱淘冲刺阶段站立会议每天任务2
    我爱淘冲刺阶段站立会议每天任务1
    大道至简-灵活的软件工程
    大道至简-实现,才是目的
    冲刺第二阶段工作总结06
    课堂练习-最低价购书方案
    构建之法阅读笔记04
    冲刺第二阶段工作总结05
    冲刺第二阶段工作总结04
    冲刺第二阶段工作总结03
  • 原文地址:https://www.cnblogs.com/cupid10/p/15958069.html
Copyright © 2020-2023  润新知