如何为构造函数->状态内的对象设置setState?

时间:2018-08-21 11:02:17

标签: reactjs

如何为{items.name}的setState做一个内部构造函数中的对象-> this.state->项目:{name:'',age:''}

3 个答案:

答案 0 :(得分:0)

在构造函数内部,而不是在进行setState时,可以将值分配给this.state

this.state = {
   name: "",
   age: ""
}

但是很少有用例需要以这种方式进行操作。

答案 1 :(得分:0)

如果您需要设置bugDetail的状态,

在构造函数中,您可以这样做:

constructor(props) { super(props); this.state = { bugTitle : '', bugDescription : '', bugType : '', bugDetail : { title : '', description : '', type: '' }, bugDetailArray : [] } }

稍后再执行以下操作:->

 this.setState({bugDetail:{title:"updated",description : 'olderdesc', type:"older"}})

也可以:->

updateTitle(updatedTitle){
let newBugdetail = this.state.bugDetail;
newBugdetail.title = updatedTitle;
this.setState({bugDetail:newBugdetail })
}

否则,您需要将标题保留为外键状态

答案 2 :(得分:0)

我相信您的构造函数看起来像这样

constructor(props) { 
  super(props); 
  this.state = { 
    bugTitle : '', 
    bugDescription : '', 
    bugType : '', 
    bugDetail : { 
        title : '', 
        description : '', 
        type: '' 
    }, 
    bugDetailArray : [] 
  } 
}

因此,为了在功能中使用setState来更改状态

someFunction = (e) => {
  let inputName = e.target.name;
     let inputValue = e.target.value;
     let updatedFormState = Object.assign({}, this.state);
     updatedFormState.bugDetail["title"] = inputValue;
     this.setState(updatedFormState);
}