我正在学习 React,当我将值设置为我在组件中创建的状态变量时,我遇到了一个问题,有时它会改变,有时却不会,但我从 api 获取的数据始终显示正确的值可以请有人帮忙这是代码我尝试使用其他一些值它也对其他值做同样的事情
我试图将数据设置为变量,有时会给出结果,但有时不会
这不是一个错误。状态更新可以被认为是异步的,这意味着这段代码:
const [state, setState] = useState("bar")
setState("foo")
console.log(state)
将记录
bar
。 如果您希望在状态更新时运行某些功能,则需要使用 useEffect
所以这段代码..
const [state, setState] = useState("bar")
setState("foo")
useEffect(()=>{
console.log(state)
},[state])
状态更新时将记录“foo”的预期值。
[state]
是 useEffect
的依赖数组,可以认为是告诉 useEffect
观察这个值,以及它是否更新以运行 useEffect
中的代码
..请注意,您永远不应该在组件主体中调用
setState
(这就是我的简化代码所做的)。