React --super关键字

Posted juewuzhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React --super关键字相关的知识,希望对你有一定的参考价值。

参考:http://www.phonegap100.com/thread-4911-1-1.html

Es6中的super可以用在类的继承中,super关键字,它指代父类的实例(即父类的this对象)。子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。

    class Person {
          constructor (name) {
                this.name = name;
          }
    }

    class Student extends Person {
          constructor (name, age) {
                super(); // 用在构造函数中,必须在使用this之前调用
                this.age = age;
          }
    }

为什么官方的列子里面写个super(props):


只有一个理由需要传递props作为super()的参数,那就是你需要在构造函数内使用this.props

那官方提供学习的例子中都是写成super(props),所以说写成super(props)是完全没问题的,也建议就直接这样写。


以上是关于React --super关键字的主要内容,如果未能解决你的问题,请参考以下文章

「首席架构师推荐」React生态系统大集合

import * as react from 'react' 与 import react from 'react' 有啥区别

“使用 JSX 时,React 必须在范围内”(react/react-in-jsx-scope 与 index.js 上的“window.React = React”)

React 系列教程

React学习笔记-1-什么是react,react环境搭建以及第一个react实例

react 导入中的 as