React在setState之后重新执行useState吗?



如果setState触发组件的重新呈现,并且useState在每次呈现时执行,那么如果要重新执行初始化,为什么要更新旧值呢?

例如,如果我有一个计数器设置为0 (useState(0)),并且我通过setState修改该计数器的状态为1,这将触发重新渲染,因此useState将再次执行,因此值应该再次为零,但这不会发生(幸运的是),我不知道为什么?

这就是react钩子的实现方式。

value参数在随后的渲染中被react忽略。它只会在初始渲染时设置为这个值。

你可以从作者那里读到更多关于React的内部代码,他们会进入代码内部检查它,或者你自己检查内部代码。

这是我找到的一个:https://www.newline.co/@CarlMungazi/a- journey-through-useste-hook—a4983397

useState在每次渲染时都被触发。但是该值在第一次渲染后被忽略。

From the docs:

你可能想知道:为什么useState不命名为createState ?"Create"不是很准确,因为状态只在组件第一次渲染时创建。在接下来的渲染中,useState给我们当前的状态。