react的super(props) - muamaker - 博客园


本站和网页 https://www.cnblogs.com/muamaker/p/9621007.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

react的super(props) - muamaker - 博客园
首页
新闻
博问
专区
闪存
班级
我的博客
我的园子
账号设置
简洁模式 ...
退出登录
注册
登录
代码改变世界
Cnblogs
Dashboard
Login
Home
Contact
Gallery
Subscribe
RSS
muamaker
react的super(props)
2018-09-10 17:04
muamaker
阅读(6793)
评论(0)
编辑
收藏
举报
在学习react的时候,其中在构造函数里面,有一个super(props),具体是什么意思呢。
其中 super语法来自es6,其语法如下:
super([arguments]);
// 调用 父对象/父类 的构造函数
super.functionOnParent([arguments]);
// 调用 父对象/父类 上的方法
我们要理解react中的super(props),,就先看一下,es6的构造函数constructor
看如下js
class Person{
constructor(props){
console.log("参数:"+props);
console.log("初始化 Person constructor");
this.name = "Person";
class Child extends Person{
getName(){
console.log("名字为:"+this.name);
var child = new Child();
child.getName();
  在js中,类在 new 实例化的时候,系统会默认调用constructor函数,在 Child类中,我们没有定义构造函数,那个系统会默认有一个constructor,并且会在里面调用super(); 当我们定义了构造函数之后,就使用我们定义的。所以我们自己定义的构造函数必须要调用super()对父类进行初始化。
在react中,如果不需要在 constructor里面使用 props,是可以不用写 constructor的
这个两种调用和不调用的区别,
1、如果不需要 在 constructor里面使用 this.props ,是可以不用给super传props的
2、如果不要在constructor写逻辑,仅仅是写一个super(props),实际上整个constructor都没有写的必要
3、目前react支持一种新的写法,没有constructor情况下面的初始化数据,非常方便,这种写法,阮一峰老师的es6入门文档里面有提及,详细的自己去看
  
分类 react
刷新评论刷新页面返回顶部
About
www.spiga.com.mx
Copyright 2022 muamaker
Powered by .NET 7.0 on Kubernetes
博客园