1. 程式人生 > 其它 >react 中的 super super(props)

react 中的 super super(props)

1 constructor() ---- super()的基本含義

  constructor () --- 構造方法

  這是es6對類的預設方法,通過new 命令 生成物件例項時自動呼叫該方法,並且,該方法是類中必須有的,如果沒有顯示定義,則預設新增空的 constructor() 方法

  

  super() ----- 繼承

在class方法中,繼承是使用 extends 關鍵字來實現的。子類 必須 在 constructor( )呼叫 super( )方法,否則新建例項時會報錯。

報錯的原因是:子類是沒有自己的 this 物件的,它只能繼承自父類的 this 物件,然後對其進行加工,而super( )就是將父類中的this物件繼承給子類的。沒有 super,子類就得不到 this 物件。

2super(props)------super()-----以及不寫super的區別

如果你用到了constructor就必須寫super(),是用來初始化this的,可以繫結事件到this上;

如果你在constructor中要使用this.props,就必須給super加引數:super(props);

(無論有沒有constructor,在render中this.props都是可以使用的,這是React自動附帶的;)

如果沒用到constructor,是可以不寫的;React會預設新增一個空的constructor。