首页 > 解决方案 > 我想将一个对象添加到反应数组

问题描述

我想向状态数组添加一个对象。
我想使用扩展语法将对象 {user.uuid,user.id} 添加到状态数组,我想将对象 {user.uuid,user.id} 添加到状态数组。但我得到一个错误,无法为状态添加任何值。如果有人知道如何解决这个问题,请告诉我。

  const [id, setId] = React.useState<[{uuid: number; id: number}]>([]);

  useEffect(() => {
    if (id === null) {
     users.map((user) => setId([...id, {user.uuid, user.id}]));
    }
  }, [users]);

我想创建这样一个数组。

[
  { uuid:sadsa
    id:1
  },
  { uuid:dadsad
    id:2
  },
  { uuid:jihji
    id:3
  },
  { uuid:mokok
    id:4
  },
]

标签: reactjstypescript

解决方案


我对你的代码的理解是你的状态是一个数组,这意味着你要使用的类型是{uuid: number; id: number}[]. 因此,useState声明应该是:

const [id, setId] = React.useState<{uuid: number; id: number}[]>([]);

推荐阅读