为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

米脂 2021-09-04 17:28:59
我有点困惑;可能更像是一个 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。
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

当你这样做时:

const [someState, setSomeState] = useState()

您正在使用解构赋值来访问从 返回的两个元素useState,实际状态的属性以及更改状态的方法 ( updater) 当您使用updater不改变状态时更改状态的属性,React实际上将“知道”该属性的先前属性value 并将基于前一个实例生成另一个实例。所以你应该面对这个迭代过程,因为const在每次渲染调用时都会创建一个新的,并且新的与之前的没有任何关系。

我们声明了一个名为 count 的状态变量,并将其设置为 0。React 会记住它在重新渲染之间的当前值,并将最新的值提供给我们的函数。如果我们想更新当前计数,我们可以调用 setCount。

这是官方文档中的一个片段来澄清


查看完整回答
反对 回复 2021-09-04
  • 1 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信