reactjs - 我想将一个对象添加到反应数组
问题描述
我想向状态数组添加一个对象。
我想使用扩展语法将对象 {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
},
]
解决方案
我对你的代码的理解是你的状态是一个数组,这意味着你要使用的类型是{uuid: number; id: number}[]
. 因此,useState
声明应该是:
const [id, setId] = React.useState<{uuid: number; id: number}[]>([]);
推荐阅读
- python - Python / Selenium - 访问非交互式元素
- r - 从硬币包中的对象 QuadTypeIndependenceTest 和 ScalarIndependenceTest 中提取 p 值
- python-3.x - 使用脚本中定义的函数在 ipython shell 中设置全局变量
- python - 使用 or-tools 的不同车辆类型的 VRP
- php - 使用用户代理在 Laravel 后端设置条件以在满足条件时隐藏/显示 AdSense
- gitlab - Gitlab CI/CD 检测文件修改选择阶段
- php - 如何在laravel中为一个包的所有表添加前缀?
- ruby - 让父类具有仅由其后代使用的私有方法是一种好习惯吗?
- hibernate - Spring Data JPA中是否有类似于hibernate的实体状态概念?
- c++ - 使用 SFINAE 重载模板变量特化