我最近按照 React 教程创建了一个模板项目,此后一直在修改代码以满足我的需要。特别是,在一个组件上有一段代码,它传递了一个名为label
.
render() {
const { label } = this.props;
...
}
在此示例中,我从控制器返回了一个 JSON 对象,并使用名为 的参数将其传递给此组件rune
。rune
JSON 的一个属性是“名称”,我想将名称分配给一个名为“标签”的变量。给我带来麻烦的一件事是:
render() {
console.log("Prop.runes.name: " + this.props.rune.name);
const { label } = this.props.rune.name;
console.log("Label: " + label);
...
}
第一个console.log(...)
正确输出名称。但是,第二个日志未定义。经过一些试验和错误,我发现如果我从const
声明中删除大括号,名称解析正确。
render() {
const label = this.props.rune.name;
...
}
花括号最初是做什么的?教程最初有它们有什么原因吗?