如何理解react中的super(),super(props)

Posted liyue666

tags:

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

用es6的class(类)的方法创建组件:

技术分享图片

子类继承父类的属性:需要使用super()继续父类的属性,同时创建this(子类本身没有this);

如果像上图一样需要定义props的属性 this.props.xixi="哈哈",则需要用 super(props)

如果不定义props的属性,只定义状态this.state ,就可以直接super();

这是为什么呢?

其实很简单,因为this.props必须要是一个对象,才能在它下面定义属性

而constructor(props){}传入的参数props为对象

所以super(props)的作用就是在父类的构造函数中给props赋值一个对象this.props=props这样就能在它的下面定义你要用到的属性了,然而其他的由于没有传参就直接赋值为undefind

由于state下面没有属性,所以如果只是定义state就可以直接super()就行了

 

以上是关于如何理解react中的super(),super(props)的主要内容,如果未能解决你的问题,请参考以下文章

React 中的构造函数(props) 和 super(props) VS 构造函数() 和 super()

关键字super在java中的主要作用是啥,如何使用?

[react] super()和super(props)有什么区别?

关于react组件中的constructor和super

React,想说爱你,并不容易

React --super关键字