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

Posted 前端小歌谣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[react] super()和super(props)有什么区别?相关的知识,希望对你有一定的参考价值。

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

react 中的class 是基于es6的规范实现的, 继承是使用extends关键字实现继承的,子类必须在constructor()中调用super() 方法否则新建实例
就会报错,报错的原因是 子类是没有自己的this对象的,它只能继承父类的this对象,然后对其进行加工,而super()就是将父类中的this对象继承给子类的,没有super() 子类就得不到this对象。

如果你使用了constructor就必须写super() 这个是用来初始化this的,可以绑定事件到this上
如果你想要在constructor中使用this.props,就必须给super添加参数 super(props)
注意,无论有没有 constructor,在render中的this.props都是可以使用的,这是react自动附带的
如果没有用到constructor 是可以不写的,react会默认添加一个空的constroctor.

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论



主目录

与歌谣一起通关前端面试题

以上是关于[react] super()和super(props)有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

为啥react的组件要super

react中constructor和super()以及super(props)的区别。

react中constructor和super的使用

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

React中super(props)和super()以及不写super()的区别

为啥react的组件要super