反应添加 属性 到不可变对象
React add property to immutable object
我正在尝试向数组中的对象添加新的 属性。我的想法是做这样的事情:
class Foo extends Component {
constructor(props) {
super(props);
this.state = this.getInitialState();
console.log(this.state); //Property "label" is missing in "members" array
}
/**
* Get initial state
* @returns {{title, description}}
*/
getInitialState = () => {
let members = this.props.members.slice();
members.map((member) => {
return {
...member,
label: (member.firstName + " " + member.lastName)
}
});
console.log(members); //"label" is not a property of objects
return {title: "", description: "", responsible: [], typeOf: null,
members: members};
};
render () {
return (<div/>)
}
}
我希望 members
到 stay/remain 不可变,但要向此数组中的每个对象添加另一个 属性。我在这里做错了什么?谢谢!
您没有将映射的返回值存储到成员变量
getInitialState = () => {
let members = this.props.members.map((member) => {
return {
...member,
label: (member.firstName + " " + member.lastName)
}
});
console.log(members); //"label" is not a property of objects
return {title: "", description: "", responsible: [], typeOf: null,
members: members};
};
数组原型.map()不会改变原数组,而是returns一个新数组。
我正在尝试向数组中的对象添加新的 属性。我的想法是做这样的事情:
class Foo extends Component {
constructor(props) {
super(props);
this.state = this.getInitialState();
console.log(this.state); //Property "label" is missing in "members" array
}
/**
* Get initial state
* @returns {{title, description}}
*/
getInitialState = () => {
let members = this.props.members.slice();
members.map((member) => {
return {
...member,
label: (member.firstName + " " + member.lastName)
}
});
console.log(members); //"label" is not a property of objects
return {title: "", description: "", responsible: [], typeOf: null,
members: members};
};
render () {
return (<div/>)
}
}
我希望 members
到 stay/remain 不可变,但要向此数组中的每个对象添加另一个 属性。我在这里做错了什么?谢谢!
您没有将映射的返回值存储到成员变量
getInitialState = () => {
let members = this.props.members.map((member) => {
return {
...member,
label: (member.firstName + " " + member.lastName)
}
});
console.log(members); //"label" is not a property of objects
return {title: "", description: "", responsible: [], typeOf: null,
members: members};
};
数组原型.map()不会改变原数组,而是returns一个新数组。