setState 获取异步更新数据的两种方法

import React, { Component } from 'react'

export default class App extends Component {

    constructor(props){
        super(props)
        this.state = {
            counter:0
        }
    }
    render() {
        return (
            <div>
                <h2>当前计数: {this.state.counter}</h2>
                <button onClick={e=>this.increment()}>+1</button>
            </div>
        )
    }

     // 获取异步更新的数据
     // 方式二 
    componentDidUpdate(){
        console.log('componentDidUpdate:',this.state.counter);
    }

    increment(){ 
        //  setState 异步更新
        // this.setState({
        //     counter: this.state.counter + 1
        // })
        // console.log(this.state.counter); 

        // 获取异步更新的数据
        // 方式一 , 回调函数
        this.setState({
            counter: this.state.counter + 1
        },()=>{
            console.log('回调函数:',this.state.counter);
        })
    }
}
posted @ 2021-08-11 16:33  13522679763-任国强  阅读(327)  评论(0)    收藏  举报