首页 > 其他 > 详细

1、react 解决this.setState修改数据异步问题

时间:2020-08-26 09:04:55      阅读:328      评论:0      收藏:0      [点我收藏+]

解决异步:

1、nextState(推荐)

import React from ‘react‘
class Home extends React.Component{
    constructor(props){
        super(props);
        this.state = {
            data :0
        }
    }
    componentDidMount(){
       this.timer = setInterval(()=>{this.setState({date:new Date()})},1000)
    }
    componentWillMount(){
        clearInterval(this.timer)
    }
    render(){
        return(
        <React.Fragment>
            <p>{this.state.data}</p>
            <button onClick={this.add}>点击</button>
        </React.Fragment>
        )
    }
    // 异步问题复现
    // add = ()=>{
    //     this.setState({
    //         data:this.state.data+1
    //     })
    //     this.setState({
    //         data:this.state.data+2
    //     })
    //     console.log(`点击${this.state.data}`);
    // }
    // 解决方法一
    add = ()=>{
        this.setState(nextState=>({data:nextState.data+1}))
        this.setState(nextState=>({data:nextState.data+2}))
        console.log(`点击${this.state.data}`)
    }
}
export default Home;

 

1、react 解决this.setState修改数据异步问题

原文:https://www.cnblogs.com/nothingness/p/13562821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!