我在创建匿名函数和使用map方面相当新手,...i
以下代码行中的含义是什么。 蒂亚
const airlines = this.state.airlines.map(i => (
{ ...i, editing : this.state.editing && i===item }
)
)
它被称为扩展语法,在当前上下文中,它涉及复制对象。这与执行此操作相同:
const airlines = this.state.airlines.map(object => {
object.editing = this.state.editing && object === item;
return object;
});
因此,我们要做的是创建对象的浅表副本,并向其添加属性。这就是扩展语法的目的 - 制作浅拷贝,或为浅拷贝收集项(称为 rest 语法 - 收集其余项(。下面是一个简化的扩展语法示例:
const arr = [{
name: "Jack"
}, {
name: "Joe"
}];
const res = arr.map(e => ({ ...e,
age: Infinity
}));
console.log(res);
.as-console-wrapper {
max-height: 100% !important;
top: auto;
}