useState的正确语法如下
const [count, setCount] = useState(0)
通过打印可以看到useState返回一个数组,那么为何不返回对象呢
涉及到数组与对象间解构方式的差异
数组的解构:根据索引
const [a,,b] = [1,2,3]
console.log(a) // 1
console.log(b) // 3
对象的解构:根据key
const {a,b} = {a:1,b:2,c:3}
console.log(a) // 1
console.log(b) // 2
如果返回对象,则解构多个useState时,为避免变量重名,需要重命名。
const { state, setState } = useState(false)
const { state: count, setState: setCount } = useState(0)
......
便于使用,所以useState返回的是数组。