React State Hook 如何从 ES6 解构赋值中获取状态变量名

Mah*_*hdi 5 javascript destructuring ecmascript-6 reactjs

在 React State Hooks中,可以编写以下行来设置一个被调用的状态变量count以及setCount随后设置该值的函数,如下所示:

const [count, setCount] = useState(0);
Run Code Online (Sandbox Code Playgroud)

这相当于写:

this.state = { count: 0 };
Run Code Online (Sandbox Code Playgroud)

我的问题是,函数如何useState()获取状态变量的名称——count在本例中,是从 ES6 解构赋值语句中获取的?

解构不是在函数返回值之后发生吗?或者是否可以在调用函数时动态获取函数内部正在被破坏的值?

更新

请注意,我确实知道我可以解构为我想要的任何名称,但是如何知道stateuseState()中应该包含什么变量,以便稍后使用它。

例如,如果我设置两个状态变量,如果函数useState()不知道变量名称,它如何区分这两个值?

const [age, setAge] = useState(42);
const [fruit, setFruit] = useState('banana');
Run Code Online (Sandbox Code Playgroud)

Tob*_*ins 1

它返回一个您破坏的数组。数组的第一个索引是值,第二个索引是函数。通过数组解构,您可以为这些变量设置名称

例子:

const [one, two] = ["test", () => {console.log(1)}];
console.log(one) // would be test
two() // would print out 1
Run Code Online (Sandbox Code Playgroud)

更多信息: https ://medium.freecodecamp.org/array-destructuring-in-es6-30e398f21d10