我已将guest
个对象从一个视图传递给另一个视图作为属性。 guest
由各种属性guest.name
,guest.age
,guest.email
等组成。
在将接收guest
对象的视图的类定义的开头,我想重构this.props.guest.name
到guest.name
所以我已经设置如下:
class EditGuest extends Component {
const { guest } = this.props;
state = {
name: guest.name,
email: guest.email,
age: guest.age
};
render() {
...
...
...
...
}
export default EditGuest;
但是,对于重构parsing error: unexpected token, expected '('
的行,我收到错误const { guest } = this.props
。如果我在渲染函数中定义guest
对象,它可以正常工作,但在其外部定义时不起作用。
这里发生了什么?
答案 0 :(得分:1)
您应该在构造函数中编写它。类似于下面的东西
class EditGuest extends Component {
constructor(props) {
super(props);
const { guest } = props;
this.state = {
name: guest.name,
email: guest.email,
age: guest.age
};
}
render() {
...
...
...
...
}
}
export default EditGuest;