为什么 React 钩子在 React Docs 中使用 const ?

我有点困惑;可能更像是一个 JS 问题。


const [someState, setSomeState] = useState();


// The docs say that the above is equivalent to:

var someStateVariable = useState();

var someState = someStateVariable[0];

var setSomeState = someStateVariable[1];


// Why does it come out as a var and not a const?

// I'd imagine it do something like:


const someState = useState()[0]

我最初是困惑于如何someState能尽管是一个进行编辑const。


米脂
浏览 150回答 1
1回答

繁星淼淼

当你这样做时:const [someState, setSomeState] = useState()您正在使用解构赋值来访问从 返回的两个元素useState,实际状态的属性以及更改状态的方法 ( updater) 当您使用updater不改变状态时更改状态的属性,React实际上将“知道”该属性的先前属性value 并将基于前一个实例生成另一个实例。所以你应该面对这个迭代过程,因为const在每次渲染调用时都会创建一个新的,并且新的与之前的没有任何关系。我们声明了一个名为 count 的状态变量,并将其设置为 0。React 会记住它在重新渲染之间的当前值,并将最新的值提供给我们的函数。如果我们想更新当前计数,我们可以调用 setCount。这是官方文档中的一个片段来澄清
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript