我对以下两种设置状态的行为感到有点困惑,任何人都可以详细说明这两种类型吗?
输入1
testFunction1(val){
this.setState({value : val});
}
类型2
testFunction2(value){
this.setState({value});
}
这里,
this.state={value:[]};
提前感谢。
答案 0 :(得分:3)
它们实际上是相同的setState
,第二个只使用ES6' s shorthand property names,其中变量名称成为属性名称,变量值成为属性值:
var a = "foo", b = 42, c = {};
var o = { a, b, c }; // o => { a: "foo", b: 42, c: {} }
所以这个:
testFunction2(value){
this.setState({value});
}
被翻译成:
testFunction2(value){
this.setState({ value: value });
}