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

Noc*_*ebo 2 javascript immutability reactjs

我正在尝试向数组中的对象添加新属性。我的想法是做这样的事情:

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/>)
    }
}
Run Code Online (Sandbox Code Playgroud)

我想members保持/保持不变,但向此数组内的每个对象添加另一个属性。我在这里做错了什么?谢谢!

Pra*_*rma 5

您没有存储映射到成员变量的返回值

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};
    };
Run Code Online (Sandbox Code Playgroud)