React中super(props)和super()以及不写super()的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React中super(props)和super()以及不写super()的区别相关的知识,希望对你有一定的参考价值。
参考技术A 参考:https://www.cnblogs.com/White1993/p/10516989.html1.在class方法中,继承是使用extends关键字来实现继承的。子类必须在constructor()中调用super()方法,否则新建实例时会报错。
报错的原因是,子类是没有自己的this对象的,它只能继承父类的this对象,然后对其进行加工,而super()就是将父类中的this对象继承给子类的。没有super,子类就得不到this对象。
2.如果你用到了constructor就必须写super(),是用来初始化this的,可以绑定事件到this上
如果你在constructor中要使用this.props,就必须给super加参数,super(props)
[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(props)和super()以及不写super()的区别的主要内容,如果未能解决你的问题,请参考以下文章
react中constructor和super()以及super(props)的区别。
React中constructor(props){}究竟是什么,以及super(props)与super()
React中super(props)和super()以及不写super()的区别