React組件創(chuàng)建與事件綁定的實(shí)現(xiàn)方法
周末在家,練習(xí)React,記錄下來(lái),方便查看。
本期學(xué)習(xí)React組件創(chuàng)建與時(shí)間綁定
1、組件創(chuàng)建方式
方式一-函數(shù)創(chuàng)建組件
使用JS函數(shù)或箭頭函數(shù)創(chuàng)建組件
約定1:函數(shù)名必須是大寫字母開(kāi)頭
約定2:函數(shù)組件必須有返回值,表示該組件的結(jié)構(gòu)
如果返回值為null,則不渲染任何內(nèi)容
參考代碼如下圖所示。
// 方式1:JS函數(shù) function Hello(){ return ( <div>函數(shù)組件</div> ) } // 方式2:箭頭函數(shù) const Hello = () => <div>函數(shù)組件</div> // 渲染函數(shù)組件 ReactDOM.render(<hello />,document.getElementById('root'))
方式二-使用類創(chuàng)建組件
使用ES6的class創(chuàng)建的組件
約定1:類名必須是大寫字母開(kāi)頭;
約定2: 類組件應(yīng)該繼承 React.Component 父類,可使用父類提供的方法和屬性;
約定3:類組件必須提供render() 方法;
約定4:render 方法必須有返回值,表示該組件結(jié)構(gòu)。
參考代碼如下圖所示。
class Hello extends React.Component { render(){ return <div>類組件</div> } } // 渲染函數(shù)組件 ReactDOM.render(<hello />,document.getElementById('root'))
2、事件綁定
React 事件綁定與DOM時(shí)間語(yǔ)法相似。
語(yǔ)法:on+事件名稱={事件處理程序} 如 onClick={() => {}}
注意:React 事件采用駝峰命名法,如 onMouseEnter
方式一-類組件綁定事件
通過(guò) this 關(guān)鍵字 獲取事件處理程序。
// 類組件綁定事件 class APP extends React.Component{ // 事件處理程序 handleClick(){ console.log('類組件中事件處理函數(shù)') } render() { return ( <button onclick={this.handleClick}>點(diǎn)我</button> ) } }
方式二-函數(shù)組件綁定事件
函數(shù)定義用 function,直接通過(guò) 函數(shù)名 即可獲取事件處理程序。
// 函數(shù)組件綁定事件 function APP(){ // 事件處理程序 function handleClick(){ console.log('函數(shù)組件中事件處理函數(shù)') } return ( <button onclick={handleClick}>點(diǎn)我</button> ) } // 渲染函數(shù)組件 ReactDOM.render(<APP />,document.getElementById('root'))
到此這篇關(guān)于React組件創(chuàng)建與事件綁定的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)React組件創(chuàng)建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Webpack+Babel+React開(kāi)發(fā)環(huán)境的搭建的方法步驟
本篇文章主要介紹了詳解Webpack+Babel+React開(kāi)發(fā)環(huán)境的搭建的方法步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01react+antd.3x實(shí)現(xiàn)ip輸入框
這篇文章主要為大家詳細(xì)介紹了react+antd.3x實(shí)現(xiàn)ip輸入框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10在react項(xiàng)目中使用antd的form組件,動(dòng)態(tài)設(shè)置input框的值
這篇文章主要介紹了在react項(xiàng)目中使用antd的form組件,動(dòng)態(tài)設(shè)置input框的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10基于Webpack5 Module Federation的業(yè)務(wù)解耦實(shí)踐示例
這篇文章主要為大家介紹了基于Webpack5 Module Federation的業(yè)務(wù)解耦實(shí)踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12利用React Router4實(shí)現(xiàn)的服務(wù)端直出渲染(SSR)
這篇文章主要介紹了利用React Router4實(shí)現(xiàn)的服務(wù)端直出渲染(SSR),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01React-Native之截圖組件react-native-view-shot的介紹與使用小結(jié)
這篇文章主要介紹了React-Native之截圖組件react-native-view-shot的介紹與使用小結(jié),需本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,要的朋友可以參考下2021-08-08