react中usestate说明

在 react 开发中,通常用usestate来存储应用的状态,如:

1
2
3
4
const [count, setCount] = React.useState(0)
setCount(count + 1)
console.log('count:', count)
// 输出为0

输出结果为:

1
count:0

当上述设置状态后,去取状态得到的值是 0,而不是 1,这是因为 state 是异步执行且下次渲染时才会生效,当时的设置缓存到队列中

可以通过回调的方式,获取最新的值

1
2
3
4
setCount(count => {
// 完成相关的操作
return count + 1
})