react state数据更新问题

setState更新不及时state数据获取出现问题

因为是异步机制,所有state不会及时更新。

网上加setTime我试了下好像不怎么有用。

另外两个种的话是:

在setState回调函数内可以获得最新的数据,或者使用react的生命周期函数componentDidUpdate

可是因为特定需求这两个方法不方便使用,发现render return内更新state正常。所以使用钩子函数的方式写了几个钩子函数,可用。

 

  return <li  id={`${item.nameid}`} key={i+1} index={i+1} className={this.state.isSelect === i+1 ? `${lilight.activeted} ${lilight.cssli}` : `${lilight.cssli}`} onClick={this.setCur}>{item.name}</li>

 

    setCur=e=>{

        this.setState({
            isSelect:Number(e.currentTarget.getAttribute('index'))
        });

        console.log(e.currentTarget.getAttribute('index'));

        if (e.currentTarget.getAttribute('index')==1){
                this.bianLiSite(1);
            }else if (e.currentTarget.getAttribute('index')==2){
                this.bianLiSite(2);
            }else if (e.currentTarget.getAttribute('index')==3){
                this.bianLiSite(3);
            }else if (e.currentTarget.getAttribute('index')==4){
                this.bianLiSite(4);
            }else if (e.currentTarget.getAttribute('index')==5){
                this.bianLiSite(5);
            }else {
                console.log("有问题");            }


    }

 


    bianLiSite=(sitePlan)=>{

        console.log( this.state.site)
        const aaa = [];
        this.state.site.map((item,i)=>{
            console.log(item)
            if (item.saleplanid == sitePlan){

                aaa.push(item);


            }

            this.setState(
                {
                    platSite : aaa


                })

        });

    }

记录一下。

react入门级,有什么可以改进的地方或者不对的地方欢迎大神帮忙。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值