在 useState hook 中使用 set 方法更改状态变量时出错

问题描述 投票:0回答:1

我正在学习 React,当我将值设置为我在组件中创建的状态变量时,我遇到了一个问题,有时它会改变,有时却不会,但我从 api 获取的数据始终显示正确的值可以请有人帮忙这是代码我尝试使用其他一些值它也对其他值做同样的事情

我试图将数据设置为变量,有时会给出结果,但有时不会

javascript reactjs react-hooks fetch hook
1个回答
0
投票

这不是一个错误。状态更新可以被认为是异步的,这意味着这段代码:

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
(这就是我的简化代码所做的)。

© www.soinside.com 2019 - 2024. All rights reserved.