摘要:一構(gòu)造函數(shù)組件構(gòu)造函數(shù)組件,可接受外部傳入的參數(shù),生成并返回一個(gè)元素偽。二關(guān)鍵字組件中組件的書寫方式跟中類的書寫方式非常接近,可以通過進(jìn)行創(chuàng)建。如上圖,監(jiān)聽的事件,實(shí)時(shí)更改的值并展示。
一、構(gòu)造函數(shù)組件
構(gòu)造函數(shù)組件,可接受外部傳入的參數(shù)props,生成并返回一個(gè)React元素(偽DOM)。
例如,如下,Greeting作為一個(gè)組件,接受傳入的參數(shù)name,并返回一個(gè)內(nèi)容已填充的p標(biāo)簽。
function Greeting (props) { return ({props.name},how are you?
) } const element =ReactDOM.render( element, document.getElementById("root") )
二、class關(guān)鍵字組件
react中class組件的書寫方式跟es6中類的書寫方式非常接近,可以通過React.Compnent進(jìn)行創(chuàng)建。與函數(shù)組件不同的是,該組件可以進(jìn)行復(fù)雜邏輯的處理,既可以接受外部參數(shù)props,也可以擁有自己的state,用于組件內(nèi)的通信。
class HighGreeting extends React.Component { constructor(props){ super(props); this.state={ inputValue: this.props.name } this.handleInputChange = this.handleInputChange.bind(this); } render () { return ({this.state.inputValue},how are you?
) } handleInputChange(e){ let value = e.target.value; this.setState({ inputValue: value }) } } const element =ReactDOM.render( element, document.getElementById("root") )
上面的組件,接收props參數(shù)作為初始值,當(dāng)用戶輸入時(shí),會(huì)實(shí)時(shí)更新。
class關(guān)鍵字組件內(nèi)部可以定義state,相當(dāng)于vue組件內(nèi)的data,更改時(shí)需要調(diào)用this.setState,每次調(diào)用該方法時(shí),都會(huì)執(zhí)行render方法,自動(dòng)更新組件。如上圖,監(jiān)聽input的onchange事件,實(shí)時(shí)更改inputValue的值并展示。
需要注意的是,props不僅可以傳遞值,還可以傳遞函數(shù)。(這一點(diǎn)跟vue不一樣,后面的文章會(huì)再細(xì)講。)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105518.html
摘要:組件的性能優(yōu)化高德納我們應(yīng)該忘記忽略很小的性能優(yōu)化,可以說的情況下,過早的優(yōu)化是萬惡之源,而我們應(yīng)該關(guān)心對性能影響最關(guān)鍵的另外的代碼。對多個(gè)組件的性能優(yōu)化當(dāng)一個(gè)組件被裝載更新和卸載時(shí),組件的一序列生命周期函數(shù)會(huì)被調(diào)用。 React組件的性能優(yōu)化 高德納: 我們應(yīng)該忘記忽略很小的性能優(yōu)化,可以說97%的情況下,過早的優(yōu)化是萬惡之源,而我們應(yīng)該關(guān)心對性能影響最關(guān)鍵的另外3%的代碼。...
摘要:在前端開發(fā)過程中,源碼解讀是必不可少的一個(gè)環(huán)節(jié),我們直接進(jìn)入主題,注意當(dāng)前版本號。注意包文件僅僅是的必要的功能性的定義,它必須要結(jié)合一起使用下是,原生環(huán)境下是。 在前端開發(fā)過程中,源碼解讀是必不可少的一個(gè)環(huán)節(jié),我們直接進(jìn)入主題,注意當(dāng)前 React 版本號 16.8.6。 注意:react 包文件僅僅是 React components 的必要的、功能性的定義,它必須要結(jié)合 React...
摘要:類型檢查是為了確保傳入組件的參數(shù)正確性。通常在項(xiàng)目中可以使用或者來實(shí)現(xiàn)。示例以上內(nèi)容在實(shí)現(xiàn)一個(gè)通用組件時(shí)非常有用。類型檢查和參數(shù)默認(rèn)值一起使用,保證組件的正常運(yùn)行。 Typechecking With PropTypes 類型檢查是為了確保傳入組件的參數(shù)正確性。 通常在項(xiàng)目中可以使用Flow或者TypeScript來實(shí)現(xiàn)。 React提供了PropTypes來檢查類型。 示例: imp...
摘要:組件可以處理其他組件的實(shí)例化為了避免破壞封裝,請注意通過傳遞的內(nèi)容。因此,將狀態(tài)管理的父組件實(shí)例傳遞給子組件會(huì)破壞封裝。讓我們改進(jìn)兩個(gè)組件的結(jié)構(gòu)和屬性,以便恢復(fù)封裝。組件的可重用性和可測試性顯著增加。 翻譯:劉小夕原文鏈接:https://dmitripavlutin.com/7-... 原文的篇幅非常長,不過內(nèi)容太過于吸引我,還是忍不住要翻譯出來。此篇文章對編寫可重用和可維護(hù)的Re...
摘要:右側(cè)展現(xiàn)對應(yīng)產(chǎn)品。我們使用命名為的對象表示過濾條件信息,如下此數(shù)據(jù)需要在組件中進(jìn)行維護(hù)。因?yàn)榻M件的子組件和都將依賴這項(xiàng)數(shù)據(jù)狀態(tài)。化應(yīng)用再回到之前的場景,我們設(shè)計(jì)化函數(shù),進(jìn)一步可以簡化為對于的偏應(yīng)用即上面提到的相信大家已經(jīng)理解了這么做的好處。 showImg(https://segmentfault.com/img/remote/1460000014458612?w=1240&h=663...
閱讀 1876·2021-09-28 09:36
閱讀 2426·2021-09-08 09:35
閱讀 3067·2019-08-30 15:53
閱讀 1554·2019-08-30 14:08
閱讀 665·2019-08-29 18:40
閱讀 2843·2019-08-29 13:57
閱讀 2702·2019-08-29 13:55
閱讀 681·2019-08-26 13:45