React三種建立元件的方式

2021-09-12 20:08:19 字數 1282 閱讀 2054

react一共有三種建立方式:

(1)函式式定義的無狀態元件

(2)es5原生方式react.createclass建立元件

(3)es6繼承react.component方式

無狀態函式式元件是乙個只帶有render方法的函式,並且該元件是無狀態的,具體的形式如下:

function hello(props) 

} reactdom.render(, node) ;

無狀態函式元件相對於其他兩種的區別如下:

(1)由於是無狀態元件,所以就沒有例項化的過程,即不用分配多餘的記憶體,從而效能會得到提公升。

(2)無法訪問元件的this物件,如this.ref、this.state都不能訪問。

(3)元件無法訪問生命週期的方法。

(4)無狀態元件只能訪問props。

具體的表現形式如下面**段:

var es5component = react.createclass(,

defaultprops: ,

// 初始化state

getinitialstate: function() ;

},handlechange: function(event) );

},render: function()

});es5component .proptypes = ;

es5component .defaultprops = ;

react.createclass是react剛開始推薦的建立元件的方式,與無狀態元件相比,此方法建立的元件需要被例項化,並且可以訪問生命週期。

此方式是以es6方式建立react元件,具體實現方式如下**段:

class es6component extends react.component ;

// es6 類中函式必須手動繫結

this.handlechange = this.handlechange.bind(this);

}handlechange(event) );

}render()

}es6component .proptypes = ;

es6component .defaultprops = ;

通過此方式建立的元件同樣可以訪問生命週期函式、this屬性 。同樣也會被例項化,但是此方式與上邊es5建立元件方法的區別在於es5會自動繫結this到元件上,但es6不會自動繫結,在此不再過多敘述,有興趣的讀者可以看我的另一篇文章『react es6寫法中this指向』 

React建立元件的三種方式

react常見的三種元件建立方式,具體如下 函式式定義的無狀態元件 es5原生方式react.createclass定義的元件 es6形式的extends react.component定義的元件 下面我們簡單說一下,這三種方式的用法 適用場合以及區別 import react,from react...

React建立元件的三種方式及其區別

react建立元件的三種方式及其區別 三種方式 函式式定義的無狀態元件es5原生方式react.createclass定義的元件 es6形式的extends react.component定義的元件 function hellocomponent props,context reactdom.ren...

React建立元件的三種方式及其區別

1.函式定義式的無狀態元件 建立純展示元件,只負責根據傳入的props來展示,不涉及state的操作。無狀態函式式元件形式上表現為乙個直帶有乙個render方法的元件類。function hellocomponent props reacrdom.render mountnode 特點是精簡,避免冗...