javascript - 在 useState 中保存的数组中包含的一系列对象中增加键的值 (+1)
问题描述
const = [items, setItems] = useState([{ name: "foo", wait: 1 }, { name: "bar", wait: 5 }])
对于项目内的所有对象,我需要将键的值wait增加 1。
到目前为止,这是我的尝试...
setItems(items.map(e => [...e, e.wait++]))
我遇到了一些疯狂的错误......我不确定我是否应该使用扩展运算符或接近我所拥有的东西。
解决方案
map
应该返回对象而不是数组。
const items = [
{ name: "foo", wait: 1 },
{ name: "bar", wait: 5 },
];
const updated = items.map((item) => ({ ...item, wait: item.wait + 1 }));
// setItems(items.map(item => ({...item, wait: item.wait + 1})));
console.log(updated);
推荐阅读
- azure-web-app-service - asp.net-core-signalr 无法保持连接超过一分钟左右
- firebase - 缓慢、不可靠的 Firebase 云函数
- c# - 使用凭据调用命令
- oop - 在 Perl 6 中继承私有属性
- ruby-on-rails - Puma 发现了这个错误:无效的选项键:raise_on_unfiltered_parameters
- javascript - 如何将数字数组映射到对象数组中的属性?
- sql - oracle 版本从 11.2.0.1 更新到 11.2.0.4 后撤消表空间正在增长
- android - Android Kotlin Retrofit + SimpleXMLConverter ElementList 解析不正确
- c# - C# 对列表中的多个数字进行排序。按第二个字符串排序
- jquery - 如何从 jQuery.steps 返回 AJAX 调用的结果?