arrays - ReactJS - 如何将键值对添加到数组中?
问题描述
在反应应用程序中,我试图将键值对数据添加到现有数据中,但它不起作用。
当前的静态数据是,
const result = [{
{id: 0, important: false, name: "Shruthi R", phone: "9834233433", email: "shruthi@gmail.com", work: "NicheSoft", city: "Mysore"},
{id: 1, important: false, name: "Paridhi Sharma", phone: "8856544422", email: "paridhi@gmail.com", work: "MicroTech", city: "Lucknow"}
];
我正在尝试result
通过表单向其中添加数据并以格式获取数据this.props.location.state
。
现在我想添加id
到新创建的数据{important: false, name: "Sona", phone: "23423433", email: "sona@yopmail.com", work: "IBM", city: "Delhi"}
我试图将它添加到这个
this.setState(Object.assign(this.props.location.state, {id: result.length}))
this.setState({list: result.concat(this.props.location.state)});
方式,但它已单独添加,例如[{...}, id: 3]
. 如何添加id
到最近添加的哈希数据?
我想要一个类似{important: false, name: "Sona", phone: "23423433", email: "sona@yopmail.com", work: "IBM", city: "Delhi", id: 3}
or的输出{id: 3, important: false, name: "Sona", phone: "23423433", email: "sona@yopmail.com", work: "IBM", city: "Delhi"}
,这应该附加到现有result
数组中。
解决方案
试试这个方法,
this.setState(prev => ({list: [...prev, {...this.props.location.state, id:3}] })
const arr = [
{id: 0, important: false, name: "Shruthi R", phone: "9834233433", email: "shruthi@gmail.com", work: "NicheSoft", city: "Mysore"},
{id: 1, important: false, name: "Paridhi Sharma", phone: "8856544422", email: "paridhi@gmail.com", work: "MicroTech", city: "Lucknow"}
];
const result = {important: false, name: "Sona", phone: "23423433", email: "sona@yopmail.com", work: "IBM", city: "Delhi"};
const newArray = [...arr, {...result, id:3}]
console.log(newArray);
推荐阅读
- python-3.x - 如何在python中的现有导入中添加新方法?特别是电影
- node.js - 为什么 package.json 需要 main 并启动 java 脚本
- xml - 如何基于 SSIS 中的元素连接两个 XML 文件?
- assembly - 为什么这个带有内存的 MOV 和 ADD 序列会产生 AX=90FFh?
- r - 如何使用因子转换大列
- sql - 使用事务 SQL 恢复数据库时出错
- python - 调用python3显示错误,调用python启动python2.7
- python - 如何加快 Matplotlib 中的绘图速度?
- c++ - 子类的构造函数后跟基类构造函数的冒号是什么意思?
- javascript - 在所有测试通过后,Jest 测试过程永远不会完成。我怎样才能让他们完成