react 中的 super super,props

1 constructor() ---- super()的基本含义

  constructor () --- 构造方法

  这是es6对类的默认方法,通过new 命令 生成对象实例时自动调用该方法,并且,该方法是类中必须有的,如果没有显示定义,则默认添加空的 constructor() 方法

  

  super() ----- 继承

在class方法中,继承是使用 extends 关键字来实现的。子类 必须 在 constructor( )调用 super( )方法,否则新建实例时会报错。

报错的原因是:子类是没有自己的 this 对象的,它只能继承自父类的 this 对象,然后对其进行加工,而super( )就是将父类中的this对象继承给子类的。没有 super,子类就得不到 this 对象。

2 super(props)------super()-----以及不写super的区别

如果你用到了constructor就必须写super(),是用来初始化this的,可以绑定事件到this上;

如果你在constructor中要使用this.props,就必须给super加参数:super(props);

(无论有没有constructor,在render中this.props都是可以使用的,这是React自动附带的;)

如果没用到constructor,是可以不写的;React会默认添加一个空的constructor。