首页 > 解决方案 > 为什么我们不在 React 中的 render 方法前面使用 super

问题描述

我是 React 新手,正在学习组件。令我困惑的是,为什么我们在继承自 React.Component 之后,在 render 方法前面不使用 super。这是示例:

class Button extends React.Component {
  super.render() {
    return <div style={{ color: this.props.color }}>{this.props.children}</div>;
  }
}

标签: reactjs

解决方案


好吧,super.render()这样声明时语法无效。我假设你的意思是:

class Button extends React.Component {
  render() {
    return <div style={{ color: this.props.color }}>{this.props.children}</div>;
  }
}

?

如果是这样,那是因为 React.Component 在超类中没有提供渲染方法。您可以从源代码中看到,该类仅提供了一些围绕和的React.Component标准化行为。setState()forceUpdate()


推荐阅读