React Native / React - 在render()

时间:2016-10-31 03:37:27

标签: javascript reactjs react-native

我已将guest个对象从一个视图传递给另一个视图作为属性。 guest由各种属性guest.nameguest.ageguest.email等组成。

在将接收guest对象的视图的类定义的开头,我想重构this.props.guest.nameguest.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对象,它可以正常工作,但在其外部定义时不起作用。

这里发生了什么?

1 个答案:

答案 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;