首頁  >  文章  >  web前端  >  react中可以使用super嗎

react中可以使用super嗎

WBOY
WBOY原創
2022-06-27 16:09:551293瀏覽

react中可以使用super;react中定義的建構函式必須要呼叫super()對父類別進行初始化,super()可以呼叫了父類別的建構函式來去實例化子類別本身,如果在constructor中要使用“this.props”,就必須給super加參數,語法為“super(props)”。

react中可以使用super嗎

本教學操作環境:Windows10系統、react17.0.1版、Dell G3電腦。

react中使用super

在學習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的

react中可以使用super嗎

react中可以使用super嗎

## 這個兩種呼叫與不呼叫的區別,

1、如果不需要在constructor裡面使用this.props ,是可以不用給super傳props的

2、如果不要在constructor寫邏輯,僅僅是寫一個super(props),實際上整個constructor都沒有寫的必要

3、目前react支持一種新的寫法,沒有constructor情況下面的初始化數據,非常方便

react中可以使用super嗎

#【相關推薦:

javascript影片教學web前端

以上是react中可以使用super嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn