zoukankan      html  css  js  c++  java
  • react, setState的两种写法。

    *

    setState只在合成事件和钩子函数中是“异步”的,在原生事件和setTimeout中、axios 回调里都是同步的。

     
    //* 使用回调函数,这样能拿到值
    //* 属于异步的  能把多个 setState  合并成一个。 并且render只会渲染被修改后的dom  使用diff算法 减少渲染

    首先我们定义一个state

    state = { 
        username: '小白'  
    }
    

     例: 我定义了一个事件, 取名为 updateUsername

    第一种: 对象形式

    this.setState({
         username: '小黑'
    }, () => {  
         console.log( this.state.username )  //拿到更新后的值,回调里拿
    })
    

     第二种写法:

    this.setState( () => { 
          return {
            username: '鸟蛋'
        }
    })
    

     第二种里面值也可以拼接的用

    this.setState( old => { //old上一次的state  这种可以把第一种 回调分离出来。
          console.log(old)
          return{
            username: `${old.username}XXX`
          }
    })
    

    this.setState( old => {

      console.log(old)   //拿上一次的值

    })

  • 相关阅读:
    JMeter和JMeterPlugin 下载安装
    Beanshell语法
    逻辑控制器
    常用配置元件
    jmeter结构体系
    正则表达式提取器
    ab 测试工具
    spring cloud_docker
    jmeter+maven
    TFS
  • 原文地址:https://www.cnblogs.com/yetiezhu/p/12720574.html
Copyright © 2011-2022 走看看