最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React組件通信淺析

 更新時(shí)間:2022年12月26日 09:31:06   作者:落雪小軒韓  
這篇文章主要介紹了React組件通信,在開(kāi)發(fā)中組件通信是React中的一個(gè)重要的知識(shí)點(diǎn),本文通過(guò)實(shí)例代碼給大家講解react中常用的父子、跨組件通信的方法,需要的朋友可以參考下

1、函數(shù)式組件

<script type="text/babel">
  // 1. 創(chuàng)建函數(shù)式組件
  function Demo() {
   // 里面的this是undefined,因?yàn)閎abel編譯后開(kāi)啟了嚴(yán)格模式
    return <h2>我是用函數(shù)定義的組件(適用于【簡(jiǎn)單組件】的定義)</h2>
  }
  // 2. 渲染組件到頁(yè)面
  ReactDOM.render(<Demo/>,document.getElementById('test'))
</script>

執(zhí)行了ReactDOM.render(<Demo/>,document.getElementById('test'))之后,React解析組件標(biāo)簽,找到了Demo組件,發(fā)現(xiàn)組件是用函數(shù)定義的,隨后調(diào)用該函數(shù),將返回的虛擬DOM轉(zhuǎn)為真實(shí)DOM呈現(xiàn)在頁(yè)面中

注意:①函數(shù)名首字母必須大寫(xiě);②函數(shù)要有返回值;③render里面要寫(xiě)組件標(biāo)簽

2、類(lèi)式組件

(1)類(lèi)的基本知識(shí)

<script type="text/javascript" >
	//創(chuàng)建一個(gè)Person類(lèi)
	class Person {
		//構(gòu)造器方法
		constructor(name,age){
			//構(gòu)造器中的this是類(lèi)的實(shí)例對(duì)象
			this.name = name
			this.age = age
		}
		//一般方法
		speak(){
			//speak方法放在類(lèi)的原型對(duì)象上,供實(shí)例使用
			//通過(guò)Person實(shí)例調(diào)用speak時(shí),speak中的this就是Person實(shí)例
			console.log(`我叫${this.name},我年齡是${this.age}`);
		}
	}
	//創(chuàng)建一個(gè)Student類(lèi),繼承于Person類(lèi)
	class Student extends Person {
		constructor(name,age,grade){
			super(name,age)
			this.grade = grade
			this.school = '清華大學(xué)'
		}
		//重寫(xiě)從父類(lèi)繼承過(guò)來(lái)的方法
		speak(){
			console.log(`我叫${this.name},我年齡是${this.age},我讀的是${this.grade}年級(jí)`);
			this.study()
		}
		study(){
			//study方法放在了類(lèi)的原型對(duì)象上,供實(shí)例使用
			//通過(guò)Student實(shí)例調(diào)用study時(shí),study中的this就是Student實(shí)例
			console.log('我很努力的學(xué)習(xí)');
		}
	}
	class Car {
		constructor(name,price){
			this.name = name
			this.price = price
			// this.wheel = 4
		}
		//類(lèi)中可以直接寫(xiě)賦值語(yǔ)句,如下代碼的含義是:給Car的實(shí)例對(duì)象添加一個(gè)屬性,名為a,值為1
		a = 1
		wheel = 4
		static demo = 100
	}
	const c1 = new Car('奔馳c63',199)
	console.log(c1);
	console.log(Car.demo);
</script>

1.類(lèi)中的構(gòu)造器不是必須要寫(xiě)的,要對(duì)實(shí)例進(jìn)行一些初始化的操作,如添加指定屬性時(shí)才寫(xiě)。

2.如果A類(lèi)繼承了B類(lèi),且A類(lèi)中寫(xiě)了構(gòu)造器,那么A類(lèi)構(gòu)造器中的super是必須要調(diào)用的。

3.類(lèi)中所定義的方法,都放在了類(lèi)的原型對(duì)象上,供實(shí)例去使用。

(1)類(lèi)式組件

<script type="text/babel">
	class MyComponent extends React.Component {
		render(){
			//render是放在MyComponent的原型對(duì)象上,供實(shí)例使用。
			//render中的this是MyComponent的實(shí)例對(duì)象 <=> MyComponent組件實(shí)例對(duì)象。
			console.log('render中的this:',this);
			return <h2>我是用類(lèi)定義的組件(適用于【復(fù)雜組件】的定義)</h2>
		}
	}
	//2.渲染組件到頁(yè)面
	ReactDOM.render(<MyComponent/>,document.getElementById('test'))
</script>

執(zhí)行了ReactDOM.render(<MyComponent/>,document.getElementById('test'))之后,React解析組件標(biāo)簽,找到了MyComponent組件。發(fā)現(xiàn)組件是使用類(lèi)定義的,隨后new出來(lái)該類(lèi)的實(shí)例,并通過(guò)該實(shí)例調(diào)用到原型上的render方法。將render返回的虛擬DOM轉(zhuǎn)為真實(shí)DOM,隨后呈現(xiàn)在頁(yè)面中。

到此這篇關(guān)于React組件通信淺析的文章就介紹到這了,更多相關(guān)React組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React組件傳參方式你了解嗎

    React組件傳參方式你了解嗎

    眾所周知?,在業(yè)務(wù)開(kāi)發(fā)中,無(wú)論用的什么框架,首先要熟悉項(xiàng)目搭建,路由配置和組件通信,所以我們今天要探究的就是React中組件通信的幾種方式,快跟隨小編一起學(xué)習(xí)起來(lái)吧
    2024-03-03
  • 詳解react阻止無(wú)效重渲染的多種方式

    詳解react阻止無(wú)效重渲染的多種方式

    這篇文章主要介紹了詳解react阻止無(wú)效重渲染的多種方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • React中的useEffect useLayoutEffect到底怎么用

    React中的useEffect useLayoutEffect到底怎么用

    這篇文章主要介紹了React中的useEffect useLayoutEffect具體使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • React?Hook之使用State?Hook的方法

    React?Hook之使用State?Hook的方法

    這篇文章主要為大家詳細(xì)介紹了React使用State?Hook的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • React類(lèi)組件中super()和super(props)的區(qū)別詳解

    React類(lèi)組件中super()和super(props)的區(qū)別詳解

    這篇文章給大家詳細(xì)介紹了React類(lèi)組件中super()和super(props)有什么區(qū)別,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • react?native?reanimated實(shí)現(xiàn)動(dòng)畫(huà)示例詳解

    react?native?reanimated實(shí)現(xiàn)動(dòng)畫(huà)示例詳解

    這篇文章主要為大家介紹了react?native?reanimated實(shí)現(xiàn)動(dòng)畫(huà)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • React實(shí)現(xiàn)動(dòng)效彈窗組件

    React實(shí)現(xiàn)動(dòng)效彈窗組件

    最近在使用react開(kāi)發(fā)項(xiàng)目,遇到這樣一個(gè)需求實(shí)現(xiàn)一個(gè)帶有動(dòng)效的 React 彈窗組件,如果不考慮動(dòng)效,很容易實(shí)現(xiàn),接下來(lái)小編通過(guò)本文給大家介紹React實(shí)現(xiàn)動(dòng)效彈窗組件的實(shí)現(xiàn)代碼,一起看看吧
    2021-06-06
  • 用React實(shí)現(xiàn)一個(gè)類(lèi) chatGPT 的交互式問(wèn)答組件的方法詳解

    用React實(shí)現(xiàn)一個(gè)類(lèi) chatGPT 的交互式問(wèn)答組件的方法詳解

    這篇文章主要給大家詳細(xì)介紹如何用React實(shí)現(xiàn)一個(gè)類(lèi) chatGPT 的交互式問(wèn)答組件的方法,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • React使用Hooks從服務(wù)端獲取數(shù)據(jù)的完整指南

    React使用Hooks從服務(wù)端獲取數(shù)據(jù)的完整指南

    本文將從基礎(chǔ)到高級(jí)用法,詳細(xì)介紹如何在 React 項(xiàng)目中優(yōu)雅地使用 Hooks 進(jìn)行服務(wù)端數(shù)據(jù)獲取,涵蓋錯(cuò)誤處理、加載狀態(tài)、性能優(yōu)化等核心場(chǎng)景,并提供可直接復(fù)用的代碼模板,需要的朋友可以參考下
    2025-03-03
  • ReactNative-JS 調(diào)用原生方法實(shí)例代碼

    ReactNative-JS 調(diào)用原生方法實(shí)例代碼

    這篇文章主要介紹了ReactNative-JS 調(diào)用原生方法實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

稷山县| 涿鹿县| 乌审旗| 佛冈县| 广西| 平顺县| 东台市| 开封市| 班玛县| 镇原县| 北宁市| 喀喇沁旗| 望谟县| 泸州市| 房山区| 门头沟区| 图木舒克市| 咸阳市| 南华县| 陇西县| 滨州市| 湖州市| 门头沟区| 临湘市| 南汇区| 精河县| 贡觉县| 桂阳县| 土默特右旗| 隆子县| 龙井市| 鄂托克前旗| 景德镇市| 锡林郭勒盟| 丘北县| 峡江县| 苗栗市| 台安县| 亚东县| 玉屏| 应城市|