javascript - 如何在 ReactJs 的 setState 方法中访问数组的特定索引?
问题描述
例如,如果一个状态是这样的
state={
reports:[{name:'nadib',age:23},{name:'nadib2',age:24}]
}
如何nadib2
使用 setState 方法更改为 john?
解决方案
您可以使用该functional setState
语法并使用创建副本map
来防止当前状态的突变。
然后在循环内,如果您不想修改,则返回原始对象。对于您需要修改的对象,您可以使用三元运算符找到它并复制所有现有键,可选择修改其他键,如图所示。
this.setState(prevState => {
return {
reports : prevState.reports.map(item =>
item.name === 'nadib2' ? ({...item, name: 'john'}) : item)
};
});
推荐阅读
- html - align-items : flex-start 和 Stretch 有什么区别?
- javascript - json调用不同文件后获取对象
- c - 在 Makefile 中使用 patsubst 添加项目的路径
- sql-server - SSIS - SharePoint - 未找到网络路径
- javascript - .value on form group shows numeric values as null or ""
- angular - 为什么 router.navigate() 返回 false?
- r - 将行分配/拆分为相等大小的组,每组达到特定阈值
- python - 从 Zip 文件中读取 .xdoc Word 文档?
- sql - Why date formats are different in APEX and Oracle SQL Developer?
- python - 查找从一个 csv 列到另一个 csv 列的单词频率