反应添加 属性 到不可变对象

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一个新数组。