reactjs - 使用 React Hooks 向数组中的对象添加属性
问题描述
刚开始学习钩子,就遇到了这个问题。我试图将相同的属性添加到数组中的每个对象,如下所示:
const array = [ { 'a': 1,
'b': 2,
'c': 3},
{ 'd': 4,
'e': 5,
'f': 6} ]
const [ example, setExample ] = useState(array)
期望的结果如下:
const array = [ { 'a': 1,
'b': 2,
'c': 3,
'g': 7},
{ 'd': 4,
'e': 5,
'f': 6,
'g': 7} ]
我写的函数:
function addG () {
let toBeAdded = { 'g' : 7 }
let alteredArray = array.map((object) => {
return {...object, toBeAdded}
}
return alteredArray
}
然后调用函数:
const [ example, setExample ] = useState(()=>{addG()})
它不工作哈哈很想指出我做错了什么!提前致谢!
解决方案
你也需要解构toBeAdded
。像这样:
function addG () {
let toBeAdded = { 'g' : 7 }
let alteredArray = array.map((object) => {
return {...object, ...toBeAdded}
}
return alteredArray
}
推荐阅读
- typescript - 如何将 DraftJs 编辑器输入限制为单行?
- netlogo - NetLogo - 在 2 个正方形内找到海龟
- angular - 渲染宿主元素时调用指令
- r - R vegan 包错误说数据不能包含 NA,但数据帧不包含 NA
- python - Python中的阶乘多线程
- c# - 按具有分页的公共属性对对象的动态列表进行排序
- arrays - 如果Google表格中的值等于0,如何计算损失
- python - 如何创建一个用 Python 流式传输在线广播的不和谐机器人
- python - Python3.7 在 linux 上的模块加载期间未显示
- javascript - 关于 CDN。这些方法在哪里起作用?客户?断绝?