實(shí)例講解React 組件
本章節(jié)我們將討論如何使用組件使得我們的應(yīng)用更容易來(lái)管理。
接下來(lái)我們封裝一個(gè)輸出 "Hello World!" 的組件,組件名為 HelloMessage:
function HelloMessage(props) {
return <h1>Hello World!</h1>;
}
const element = <HelloMessage />;
ReactDOM.render(
element,
document.getElementById('example')
);
實(shí)例解析:
1、我們可以使用函數(shù)定義了一個(gè)組件:
function HelloMessage(props) {
return <h1>Hello World!</h1>;
}
你也可以使用 ES6 class 來(lái)定義一個(gè)組件:
class Welcome extends React.Component {
render() {
return <h1>Hello World!</h1>;
}
}
2、const element = <HelloMessage /> 為用戶自定義的組件。
注意,原生 HTML 元素名以小寫(xiě)字母開(kāi)頭,而自定義的 React 類(lèi)名以大寫(xiě)字母開(kāi)頭,比如 HelloMessage 不能寫(xiě)成 helloMessage。除此之外還需要注意組件類(lèi)只能包含一個(gè)頂層標(biāo)簽,否則也會(huì)報(bào)錯(cuò)。
如果我們需要向組件傳遞參數(shù),可以使用 this.props 對(duì)象,實(shí)例如下:
function HelloMessage(props) {
return <h1>Hello {props.name}!</h1>;
}
const element = <HelloMessage name="jb51"/>;
ReactDOM.render(
element,
document.getElementById('example')
);
以上實(shí)例中 name 屬性通過(guò) props.name 來(lái)獲取。
注意,在添加屬性時(shí), class 屬性需要寫(xiě)成 className ,for 屬性需要寫(xiě)成 htmlFor ,這是因?yàn)?class 和 for 是 JavaScript 的保留字。
復(fù)合組件
我們可以通過(guò)創(chuàng)建多個(gè)組件來(lái)合成一個(gè)組件,即把組件的不同功能點(diǎn)進(jìn)行分離。
以下實(shí)例我們實(shí)現(xiàn)了輸出網(wǎng)站名字和網(wǎng)址的組件:
function Name(props) {
return <h1>網(wǎng)站名稱(chēng):{props.name}</h1>;
}
function Url(props) {
return <h1>網(wǎng)站地址:{props.url}</h1>;
}
function Nickname(props) {
return <h1>網(wǎng)站小名:{props.nickname}</h1>;
}
function App() {
return (
<div>
<Name name="腳本之家" />
<Url url="http://www.dbjr.com.cn/" />
<Nickname nickname="jb51" />
</div>
);
}
ReactDOM.render(
<App />,
document.getElementById('example')
);
輸出結(jié)果:

以上就是實(shí)例講解React 組件的詳細(xì)內(nèi)容,更多關(guān)于React 組件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- React嵌套組件的構(gòu)建順序
- 編寫(xiě)簡(jiǎn)潔React組件的小技巧
- 使用hooks寫(xiě)React組件需要注意的5個(gè)地方
- react實(shí)現(xiàn)Radio組件的示例代碼
- 詳解對(duì)于React結(jié)合Antd的Form組件實(shí)現(xiàn)登錄功能
- 基于react hooks,zarm組件庫(kù)配置開(kāi)發(fā)h5表單頁(yè)面的實(shí)例代碼
- React antd tabs切換造成子組件重復(fù)刷新
- 在react-antd中彈出層form內(nèi)容傳遞給父組件的操作
- 在react項(xiàng)目中使用antd的form組件,動(dòng)態(tài)設(shè)置input框的值
- react實(shí)現(xiàn)復(fù)選框全選和反選組件效果
- 利用React高階組件實(shí)現(xiàn)一個(gè)面包屑導(dǎo)航的示例
- 實(shí)例講解React 組件生命周期
- 詳解React 父組件和子組件的數(shù)據(jù)傳輸
相關(guān)文章
React Hooks之使用useCallback和useMemo進(jìn)行性能優(yōu)化方式
這篇文章主要介紹了React Hooks之使用useCallback和useMemo進(jìn)行性能優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
在?React?Native?中給第三方庫(kù)打補(bǔ)丁的過(guò)程解析
這篇文章主要介紹了在?React?Native?中給第三方庫(kù)打補(bǔ)丁的過(guò)程解析,有時(shí)使用了某個(gè)React Native 第三方庫(kù),可是它有些問(wèn)題,我們不得不修改它的源碼,本文介紹如何修改源碼又不會(huì)意外丟失修改結(jié)果的方法,需要的朋友可以參考下2022-08-08
react函數(shù)組件類(lèi)組件區(qū)別示例詳解
這篇文章主要為大家介紹了react函數(shù)組件類(lèi)組件區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
圖文示例講解useState與useReducer性能區(qū)別
這篇文章主要為大家介紹了useState與useReducer性能區(qū)別圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
VSCode 配置React Native開(kāi)發(fā)環(huán)境的方法
本篇文章主要介紹了VSCode 配置React Native開(kāi)發(fā)環(huán)境的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12

