gio*_*gim 4 javascript reactjs
在 React文档中,我对 setState 的使用感到困惑。看到这个
handleCelsiusChange(temperature) {
this.setState({scale: 'c', temperature}); // no key
}
Run Code Online (Sandbox Code Playgroud)
状态定义如下
this.state = {temperature: '', scale: 'c'};
Run Code Online (Sandbox Code Playgroud)
因此,我期待的不是我一开始所展示的,而是这样的电话:
handleCelsiusChange(temperature) {
this.setState({scale: 'c', temperature: temperature}); // with key
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?(显然有一些自动转换发生)。
附注。temperature只是字符串而不是您从子组件获得的对象,例如
handleChange(e) {
this.props.onTemperatureChange(e.target.value);
}
Run Code Online (Sandbox Code Playgroud)
这只是语法糖。
{scale: 'c', temperature} // key -> "temperature", value -> temperature
Run Code Online (Sandbox Code Playgroud)
是简写
{scale: 'c', temperature: temperature} // key and value explicitly defined
Run Code Online (Sandbox Code Playgroud)
这可以在MDN(ECMAScript 2015 中的新符号)上找到。
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |