[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中constructor和super()以及super(props)的区别。
React 中的构造函数(props) 和 super(props) VS 构造函数() 和 super()