【问题标题】:React Native / React - refactoring prop before render() [duplicate]React Native / React - 在渲染()之前重构道具 [重复]
【发布时间】:2016-10-31 03:37:26
【问题描述】:

我已将guest 对象作为属性从一个视图传递到下一个视图。 guestguest.nameguest.ageguest.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;

但是,我在重构 const { guest } = this.props 的行中收到错误 parsing error: unexpected token, expected '('。如果我在渲染函数中定义 guest 对象,它可以正常工作,但在它之外定义时不起作用。

这是怎么回事?

【问题讨论】:

  • 不应该在类的方法中吗?放在构造函数中

标签: javascript reactjs react-native


【解决方案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;

【讨论】:

  • 太棒了!我每天都在学习一些东西!
猜你喜欢
  • 2021-07-20
  • 2020-09-13
  • 1970-01-01
  • 2019-04-01
  • 2019-09-26
  • 2018-03-23
  • 2018-12-27
  • 1970-01-01
  • 2022-08-12
相关资源
最近更新 更多