亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

React?函數(shù)式組件和類式組件詳情

 更新時(shí)間:2022年08月02日 14:09:23   作者:極智視界???????  
這篇文章主要介紹了React函數(shù)式組件和類式組件詳情,React是組件化的的JS庫(kù),組件化也是React的核心思想,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

React 是 組件化的 的 JS 庫(kù),組件化 也是 React 的核心思想。使用 React 可以構(gòu)建管理自身狀態(tài)的封裝組件,然后對(duì)其組合以構(gòu)成復(fù)雜的 UI。那么什么是組件呢? 組件是用來(lái)實(shí)現(xiàn)局部功能效果的代碼和資源的集合,包括 html / css / js/ image 等,組件的作用是 簡(jiǎn)化代碼、復(fù)用代碼、提高運(yùn)行效率。

React 里主要有兩種類型的組件:

  • 函數(shù)式組件 => 基于函數(shù);
  • 類式組件 => 基于類;

1. 函數(shù)式組件

函數(shù)式組件是基于使用 function 定義的函數(shù),函數(shù)式組件 和 普通函數(shù) 最主要的區(qū)別在 調(diào)用的時(shí)候,函數(shù)式組件在渲染的時(shí)候沒(méi)有 被人為顯式調(diào)用,而是由 React 內(nèi)部去調(diào)用。來(lái)看個(gè)例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>React函數(shù)式組件</title>
</head>
<body>
	<div id="demo"></div>
	
	<!-- 引入react核心庫(kù) -->
	<script type="text/javascript" src="./react.development.js"></script>
	<!-- 引入react-dom,用于支持react操作DOM -->
	<script type="text/javascript" src="./react-dom.development.js"></script>
	<!-- 引入babel,用于將jsx轉(zhuǎn)為js -->
	<script type="text/javascript" src="./babel.min.js"></script>

	<script type="text/babel">
		//1. 創(chuàng)建函數(shù)式組件
		function MyComponent(){
			return <h2>我是函數(shù)式組件</h2>
		}
		//2. 渲染組件到頁(yè)面
		ReactDOM.render(<MyComponent/>,document.getElementById('demo'))
	</script>
</body>
</html>

我們先創(chuàng)建一個(gè)盒子,用 id 進(jìn)行唯一標(biāo)識(shí):

<div id="demo"></div>    

引入 react 依賴庫(kù),接著在 script 中先 創(chuàng)建一個(gè)函數(shù)式組件

//1. 創(chuàng)建函數(shù)式組件
function MyComponent(){
	return <h2>我是函數(shù)式組件</h2>
}

然后 渲染組件到頁(yè)面

//2. 渲染組件到頁(yè)面
ReactDOM.render(<MyComponent/>,document.getElementById('demo'))

  來(lái)分析一下,在執(zhí)行了 ReactDOM.render(<MyComponent/>,...) 之后,react 做了哪些事情呢:

  • (1) react 先解析組件標(biāo)簽 id ==> demo,通過(guò)標(biāo)簽 找到了 MyComponent 組件;
  • (2) react 發(fā)現(xiàn)組件是函數(shù)定義的,接著 調(diào)用 這個(gè)函數(shù);
  • (3) react 將函數(shù)返回的 虛擬 DOM 轉(zhuǎn)換為 真實(shí)DOM;
  • (4) 最后呈現(xiàn)在頁(yè)面中;

2. 類式組件

類式組件是基于使用 class 定義的類,需要繼承自 React.Component;另外,類式組件中必須實(shí)現(xiàn) render函數(shù)。

來(lái)看個(gè)例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>React類式組件</title>
</head>
<body>
	<div id="demo"></div>
	
	<!-- 引入react核心庫(kù) -->
	<script type="text/javascript" src="./react.development.js"></script>
	<!-- 引入react-dom,用于支持react操作DOM -->
	<script type="text/javascript" src="./react-dom.development.js"></script>
	<!-- 引入babel,用于將jsx轉(zhuǎn)為js -->
	<script type="text/javascript" src="./babel.min.js"></script>

	<script type="text/babel">
		//1. 創(chuàng)建類式組件
		class MyComponent extends React.Component {
			render(){
				return <h2>我是類式組件</h2>
			}
		}
		//2. 渲染組件到頁(yè)面
		ReactDOM.render(<MyComponent/>,document.getElementById('demo'))
	</script>
</body>
</html>

同樣,我們先創(chuàng)建一個(gè)盒子,用 id 進(jìn)行唯一標(biāo)識(shí):

<div id="demo"></div>    

引入 react 依賴庫(kù),接著在 script 中 創(chuàng)建一個(gè)類式組件

//1. 創(chuàng)建類式組件
class MyComponent extends React.Component {
	render(){
		return <h2>我是類式組件</h2>
	}
}

然后 渲染組件到頁(yè)面

//2. 渲染組件到頁(yè)面
ReactDOM.render(<MyComponent/>,document.getElementById('demo'))

不難發(fā)現(xiàn),類式組件 和 函數(shù)式組件 不同的地方就是在創(chuàng)建組件的地方,而在渲染的時(shí)候則是一樣。同樣來(lái)來(lái)分析一下,在執(zhí)行了 ReactDOM.render(<MyComponent/>,...) 之后,react 做了哪些事情呢:

  • (1) react 先解析組件標(biāo)簽 id ==> function,通過(guò)標(biāo)簽 找到了 MyComponent 組件;
  • (2) react 發(fā)現(xiàn)組件是用類定義的,接著 new 一個(gè)該類的實(shí)例;
  • (3) react 通過(guò)該實(shí)例 調(diào)用 到類原型上的 render 方法;
  • (3) react 將 render 返回的 虛擬 DOM 轉(zhuǎn)換為 真實(shí)DOM;
  • (4) 最后呈現(xiàn)在頁(yè)面中;

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

相關(guān)文章

  • 詳解如何在React函數(shù)式組件中使用MobX

    詳解如何在React函數(shù)式組件中使用MobX

    MobX 是一個(gè)簡(jiǎn)潔的狀態(tài)管理庫(kù),它通過(guò)透明的函數(shù)響應(yīng)式編程(TFRP)使得狀態(tài)管理變得簡(jiǎn)單和可擴(kuò)展,下面就跟隨小編一起來(lái)了解一下如何在React函數(shù)式組件中使用MobX吧
    2024-01-01
  • React項(xiàng)目中使用Redux的?react-redux

    React項(xiàng)目中使用Redux的?react-redux

    這篇文章主要介紹了React項(xiàng)目中使用Redux的?react-redux,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 基于antd的autocomplete的二次封裝查詢示例

    基于antd的autocomplete的二次封裝查詢示例

    這篇文章主要為大家介紹了基于antd的autocomplete的二次封裝查詢示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • react-native滑動(dòng)吸頂效果的實(shí)現(xiàn)過(guò)程

    react-native滑動(dòng)吸頂效果的實(shí)現(xiàn)過(guò)程

    這篇文章主要給大家介紹了關(guān)于react-native滑動(dòng)吸頂效果的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用react-native具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 一文詳解手動(dòng)實(shí)現(xiàn)Recoil狀態(tài)管理基本原理

    一文詳解手動(dòng)實(shí)現(xiàn)Recoil狀態(tài)管理基本原理

    這篇文章主要為大家介紹了一文詳解手動(dòng)實(shí)現(xiàn)Recoil狀態(tài)管理基本原理實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • 關(guān)于hooks中useEffect()的使用總結(jié)

    關(guān)于hooks中useEffect()的使用總結(jié)

    這篇文章主要介紹了關(guān)于hooks中useEffect()的使用總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • React中井字棋游戲的實(shí)現(xiàn)示例

    React中井字棋游戲的實(shí)現(xiàn)示例

    本文主要介紹了React中井字棋游戲的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 詳解react的兩種動(dòng)態(tài)改變css樣式的方法

    詳解react的兩種動(dòng)態(tài)改變css樣式的方法

    這篇文章主要介紹了詳解react的兩種動(dòng)態(tài)改變css樣式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 在React項(xiàng)目中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位

    在React項(xiàng)目中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位

    錨點(diǎn)目錄定位功能在長(zhǎng)頁(yè)面和文檔類網(wǎng)站中非常常見(jiàn),它可以讓用戶快速定位到頁(yè)面中的某個(gè)章節(jié),本文講給大家介紹一下React項(xiàng)目中如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的錨點(diǎn)目錄定位,文中有詳細(xì)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-09-09
  • React 狀態(tài)的不變性實(shí)例詳解

    React 狀態(tài)的不變性實(shí)例詳解

    這篇文章主要為大家介紹了React 狀態(tài)的不變性實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論