新手提问,react设置state中的object

#1
constructor(props){
    super(props);
    this.state = {
        postdata : {
            type : '',
            date : '',
            money : '',
            desc :'',
        },
        errormess : '' 
    }
    this.savedata = this.savedata.bind(this);
}

closeSlide(){
    this.props.callbackParent();
}

// 费用类型
handleType(e){
    let value = e.target.value;
    this.setState({
        postdata : {
            type : value
        }
    })
}

// 产生费用时间
handleDate(e){
    let value = e.target.value;
    this.setState({
        postdata : {
            date : value
        }
    })
}

// 费用金额
handleMoney(e){
    // this.setState( Object.assign({},this.state,{ postdata : { money: e.target.value.trim()} }) )
    let value = e.target.value.trim();
    this.setState({
        postdata : {
            money : value
        }
    })
}

// 费用由来
handleDesc(e){
    // this.setState( Object.assign({},this.state,{ postdata : { desc: e.target.value.trim()} }) )
    let value = e.target.value.trim();
    this.setState({
        postdata : {
            desc : value
        }
    })
}


savedata(){
    console.log(this.state.postdata);
}
#2

postdata对象下面还有其他字段,可以先用Object.assign处理一下。

this.setState(Object.assign({}, this.state.postdata, {type: value}));
#3

参考:https://stackoverflow.com/questions/27105257/storing-an-object-in-state-of-a-react-component