组件道具解构错误

时间:2017-07-06 12:14:43

标签: reactjs

我正在尝试使用组件中流动的代码,我不断收到错误:

意外的令牌(9:8),如果是return语句。

有人可以帮忙吗?

export class Flexible extends React.Component {

  const { style, children, ...rest } = this.props;
  return <View {...rest} style={styles.flexible}>{children}</View>;
}

1 个答案:

答案 0 :(得分:1)

您正在创建一个只接受属性和功能的类。

看起来您正在尝试创建render方法 - 让我们这样做:

export class Flexible extends React.Component {
  render() {
    const { style, children, ...rest } = this.props;
    return <View {...rest} style={styles.flexible}>{children}</View>;
  }
}

如果您不需要状态或任何生命周期功能(componentWillMount等),您可以轻松创建功能组件:

export const Flexible = (props) => {
  const { style, children, ...rest } = props;
  return <View {...rest} style={styles.flexible}>{children}</View>;
};

让两者混淆是可以理解的 - 它们看起来与未经训练的眼睛相似:)

希望这可以解决您的问题!