React setState和useState在同一方法下面,解决异步问题(数据不同步更新方法)

本文探讨了JavaScript中如何确保在onPageSizeChange方法中,当使用setState更新状态后,立即获取到最新数据的问题。通过实例展示了如何通过回调函数实现数据的同步更新,以避免在后续操作中使用旧的state值。

举个栗子:
比如说以下代码:

@action("分页变更") onPageSizeChange = (value: number, pageSize: number) => {
        this.setState({ pageNo: value, pageSize: pageSize });
        this.onSearch();
    }

在onPageSizeChange 方法下面 我们先把两个参数采用setState设置进去,这个时候我们在onSearch中是拿不到我们刚刚设置进去的数据,这个时候我们需要让他同步更新,只需要在箭头函数中回调这个方法就能拿到了,setState方法修改如下:

this.setState({ pageNo: value, pageSize: pageSize },
            () => {
                this.onSearch();
            })

同理在使用useState遇到类似问题可以采用下面写法

const loop = setInterval(() => {
      setCount( count => count - 1);
}, 1000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值