Ich versuche, Objekte in einem Array eine neue Eigenschaft hinzuzufügen. Meine Idee war, so etwas zu tun:React hinzufügen Eigenschaft zu unveränderlichen Objekt
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/>)
}
}
Ich möchte members
bleiben/bleiben unveränderlich, aber das Hinzufügen eines weiteren Eigenschaft für jedes Objekt innerhalb dieses Arrays. Was mache ich hier falsch? Vielen Dank!
Wow, jetzt fühle ich mich dumm. Vielen Dank. Gelöst – Nocebo
Ich werde;) Warten auf 5 min – Nocebo
@Nocebo hinzugefügt eine Bearbeitung der Antwort zu zeigen, dass seit 'Array # map' bereits ein neues Array zurückgibt, müssen Sie nicht this.props.members verwenden. slice() '. – philraj