如何在React中设置嵌套状态
我尝试通过做这样的嵌套属性来组织我的状态
this.state = { someProperty: { flag:true } } 然后我试图更新我的状态
 this.setState({someProperty.flag: false}); 
它不这样工作。
 为了setState嵌套的对象,你可以按照下面的方法,因为我认为setState不处理嵌套的更新。 
 var someProperty = {...this.state.someProperty} somePrperty.flag = true; this.setState({someProperty}) 
这个想法是创build一个虚拟对象执行操作,然后用更新的对象replace状态
使用包不可变性帮手 :
 import update from 'immutability-helper'; const newState = update(this.state, { someProperty: {flag: {$set: false}} }; this.setState(newState); 
如果您正在使用ES2015,则可以访问Object.assign。 您可以按如下方式使用它来更新嵌套的对象。
 this.setState({ someProperty: Object.assign(this.state.someProperty, {flag: false}) }); 
您将已更新的属性与已有的属性合并,并使用返回的对象来更新状态。
把它写在一行中
 this.setState({ someProperty: { ...this.state.someProperty, flag: false} });