组件内的React useState数组解构

80 阅读1分钟

我试图从用户输入中获取一些数值,并将其保存在一个数组中。我得到的是一个对象的值,所以不能像[...users, ...values] ,而是要用上述的方法来做。但我不明白为什么同一个变量的输出会有两个不同的结果,我怎样才能在组件中得到数组的长度值呢?

const [users, setUsers] = useState([])

onSubmit(values) => {
  values.id = users.length + 1;
  setUsers((users[users.length] = values));
  console.log(users);
}
<Component>
  {console.log(users)}
</Component>