zoukankan      html  css  js  c++  java
  • React:this.setState的两个注意点

    1、在setState时,只会把对应的state状态更新,而不会覆盖其它的state状态;

    2、this.setState方法的执行是异步的,同setTimeout,即要等同一个作用域中它后面的所有代码执行完毕后它才执行,如果想调用完this.setState之后立即拿到最新的state值,需要使用this.setState({}, callback)。

    import React from 'react'
    import bootcss from 'bootstrap/dist/css/bootstrap.css'
    
    class Person extends React.Component {
        constructor(){
            super()
    
            // 这个state就相当于vue中的data(){return {}}
            this.state={
                msg: '大家好,我是class创建的Person组件!',
                name: 'Jack',
                age: 24
            }
        }
    
        render(){
            return (<div>
                {/*在class组件内部,this表示当前组件的实例对象*/}
                <button className="btn btn-primary" onClick={() => this.show('a', 'b')}>按钮</button>
            </div>)
        }
    
        show = (arg1, arg2) => {
            this.setState({
                msg: 123 + arg1 + arg2
            }, function(){
                console.log(this.state.msg);
            })
        }
    }
    
    export default Person
  • 相关阅读:
    RedHat的定制安装
    Linux系统概述
    嵌入式学习方法
    mysql联合查询
    mysql之count
    memcached安装
    css书写规则
    nginx的fastcgi_param参数详解
    array_2.array_rand
    array_1.array_map
  • 原文地址:https://www.cnblogs.com/samve/p/12392494.html
Copyright © 2011-2022 走看看