首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是“`useState(Null)[1]”中的反应钩?

什么是“`useState(Null)[1]”中的反应钩?
EN

Stack Overflow用户
提问于 2020-02-05 11:58:43
回答 2查看 3.8K关注 0票数 6

我现在用的是反应钩。我见过useState(null)[1],但我忘了我在哪里看到的。

我想知道和useState(null)有什么不同

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-05 12:04:43

文档里,上面写着

返回有状态值,并返回用于更新该值的函数。

但他们的意思是

返回一个数组,其中第一个位置是一个有状态值,而第二个位置是一个更新它的函数。

useState钩子返回一个数组,其中第一个位置(索引0)是状态,第二个位置(索引1)是该状态的设置器。

因此,当使用useState(null)[1]时,您只获得该状态的setter。

当你做的时候

代码语言:javascript
运行
复制
 const [state, setState] = useState(null)

你所做的被称为解构分配

而且,因为在大多数情况下,您都希望同时拥有statesetState,所以析构比使用要容易得多。

代码语言:javascript
运行
复制
const hook = useState(null)
const state = hook[0]
const setState = hook[1]

通过破坏,您只需使用一条更干净的行就可以做到这一点。

如果你只想要策划者,你可以通过

代码语言:javascript
运行
复制
const setState = useState(null)[1] // only getting the setter

请记住,都是一样的。

我想知道useState(null)有什么不同吗?

useState(null)返回一个数组([state, setState])

useState(null)[1]正在访问返回的数组(setState)

票数 10
EN

Stack Overflow用户

发布于 2020-02-05 12:03:21

下面的表达式是等价的:

代码语言:javascript
运行
复制
const [, setState] = useState(null); // Destructuring assignment
const setState = useState(null)[1]; // Array index excess.

useState返回一个值数组时,您可以从数组中解压值

此外,还可以访问(索引成)数组项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60075336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档