React中初始化state的兩種方法

方法一:在constructor中初始化state

constructor中初始化state

當一個class組件創建之后,constructor會首先被調用,所以在construcot中可以來初始化所有值,包括state。class實例在內存中已經被創建,所以可以使用this來為state賦值。

PS:

1、在constructor中可以不使用this.setState來為state直接賦值,除此之外其他位置都不能這樣做;

2、在constructor中不要忘記使用super(props)來調用父類的constructor。默認的constructor(當創建一個class時,如果我們沒有顯式的聲明constructor,JS會默認提供一個)會自動調用super,將將所有的參數傳入。

方法二:直接在Class中定義:

直接在Class中定義

PS:

1、沒有定義constructor

2、state屬性是直接引用的,并不是通過this.state來引用的

3、state的作用域是在Class內部,并不是一個方法的內部

4、仍然可以使用this.props和this.context

5、state是class的實例屬性,并不是靜態屬性,不需要添加static關鍵字(就像為static propTypes {...})

兩種初始化方法習慣哪種就使用哪種。

————————————————

版權聲明:本文為CSDN博主「多拉斯基」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/duola8789/article/details/90142891

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容