我现在正在使用React hooks。我看到过useState(null)[1]
,但我忘记了在哪里看到它。
我想知道和useState(null)
有什么不同?
我现在正在使用React hooks。我看到过useState(null)[1]
,但我忘记了在哪里看到它。
我想知道和useState(null)
有什么不同?
但是它们的意思是:返回一个有状态的值和更新它的函数。
返回一个数组,其中第一个位置是有状态的值,第二个位置是用于更新它的函数。
useState
钩子返回一个数组,其中第一个位置(索引0)是状态,第二个位置(索引1)是该状态的设置器。useState(null)[1]
时,您只会得到该状态的设置器。 const [state, setState] = useState(null)
你正在进行的操作被称为解构赋值
由于在大多数情况下,你需要同时使用state
和setState
,解构使得使用它比单独使用它们更容易。
const hook = useState(null)
const state = hook[0]
const setState = hook[1]
使用解构,你只需要一行代码就能实现这个操作,而且更加简洁清晰。
如果你只需要setter,可以通过以下方式实现
const setState = useState(null)[1] // only getting the setter
请记住,{{两者是同一件事}}。
const [, setState] = useState(null); // Destructuring assignment
const setState = useState(null)[1]; // Array index excess.
useState
可以让你 拆分数组并获取其中的值。
[1]
是用来引用索引为1
的元素的。所以……它不同的地方在于它是引用返回的数组中的一个元素,而不是整个数组。 - DaviduseState(null)
返回的数组中提取元素。 - Jai