我正在尝试实现CRUD应用程序,并且我有以下代码片段
state = {
name: '',
day: '',
dob: '',
items : []
}
handleChange(event){
const target = event.target;
const value = target.value; //gets value of the textbox
const name = target.name; //gets the name of the textbox
this.setState({ [name]: value });
};
handleSubmit(event){
event.preventDefault();
/* the variables I want to store as an object in the items array
*/
const name = this.state.name;
const day = this.state.day;
const dob = this.state.dob;
//array
let items = this.state.items;
items.push(name, day, dob);
this.setState({
items: items,
name: '',
day: '',
dob: ''
});
};
从上面的代码中,如何将变量name, day
和dob
对象的属性存储到items
变量中?
调用时,您可以使用创建状态对象的方式来完成此操作setState
:使用对象文字:
items.push({name, day, dob});
这是简写属性语法,其功能相同:
items.push({name: name, day: day, dob: dob});
无关的旁注:使用解构语法可能会在几个地方受益。例如,在handleSubmit
此:
const name = this.state.name;
const day = this.state.day;
const dob = this.state.dob;
如果您愿意,可以这样:
const {name, day, dob} = this.state;
与中类似handleChange
,如果愿意,您可以在参数列表中进行结构分解:
handleChange({target: {name, value}}) {
this.setState({ [name]: value });
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句