useState为什么返回数组而不是对象?

数组解构赋值是有顺序的

1
2
const arr=['jack','tom','jane']
const [one,two,three]=arr

对象解构赋值没有顺序而且解构的变量必须和属性同名才能取到对象

1
2
3
4
5
6
const age={
'jack':19,
'tom':20,
'jane':21
}
const {jack,tom,jane}=age

所以如果useState返回的数组你可以按照自己的想法对变量进行命名;

如果是对象,如果需要多次使用useState,就必须得重新命名返回值。

返回数组也有不足,必须按顺序,如果有一些变量不需要使用的话,代码会看起来怪