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

React高階組件使用詳細(xì)介紹

 更新時(shí)間:2023年01月29日 15:08:08   作者:-耿瑞-  
高階組件就是接受一個(gè)組件作為參數(shù)并返回一個(gè)新組件(功能增強(qiáng)的組件)的函數(shù)。這里需要注意高階組件是一個(gè)函數(shù),并不是組件,這一點(diǎn)一定要注意,本文給大家分享React高階組件使用小結(jié),一起看看吧

首先 我們要了解什么是高階組件

第一 高階組件必須是一個(gè)函數(shù)

第二 高階組件接收一個(gè)參數(shù),這個(gè)參數(shù)也必須是一個(gè)組件

第三 他的返回值 也是一個(gè)組件

至于高階組件的作用 我們后續(xù)會(huì)講解 本文只是帶大家認(rèn)識(shí)一下高階組件 并手把手帶大家創(chuàng)建一個(gè) 下面我們來(lái)創(chuàng)建一個(gè)react項(xiàng)目

然后在src目錄下創(chuàng)建 文件夾目錄 components

在 components下面創(chuàng)建一個(gè) assist.jsx

assist.jsx 參考代碼如下

import React from "react";
export function assist(Components){
    return class extends React.Component{
      render(){
        return (
          <Components {...this.props }/>
        )
      }
    }
}

這就是一個(gè)簡(jiǎn)單的高階組件 首先 我們定義并導(dǎo)出了一個(gè)函數(shù) 他接收一個(gè)參數(shù) 叫Components 到時(shí)你用這個(gè)方法 就需要他的這個(gè)參數(shù)是一個(gè)組件

然后 這個(gè)方法return回去的還是一個(gè)組件 Components 而我們這里的 {…this.props } 表示 將父組件給的props整個(gè)傳給這個(gè)Components組件

然后在 components下創(chuàng)建一個(gè) subset.jsx

參開代碼如下

import React,{Fragment} from "react";
export default class subset extends React.Component{
  constructor(props){
    super(props);
    this.state = {
    }
  }
  render(){
    return (
      <Fragment>
         { this.props.name }
      </Fragment>
    )
  }
}

這里就是簡(jiǎn)單創(chuàng)建了一個(gè)組件 使用了React下的Fragment 然后 在界面中使用了 this.props下的name

這個(gè)name就需要父組件傳入

然后 我們?cè)赾omponents下創(chuàng)建 record.jsx

參考代碼如下

import React from "react";
import subset from "./subset";
import { assist } from "./assist";
const Subset = assist(subset);
export default class record extends React.Component{
  constructor(props){
    super(props);
    this.state = {
      name: "小貓貓",
    }
  }
  render(){
    return (
      <div className="App">
         <Subset name = { this.state.name }/>
      </div>
    )
  }
}

此時(shí) 就可以看到 我們r(jià)ecord.jsx同時(shí)引入了 subset.jsx和assist.jsx

用subset組件作為參數(shù) 調(diào)用了 assist下的assist函數(shù) 也就是我們的高階組件

這樣就滿足了 參數(shù)是組件的需求 聲明一個(gè)Subset接受高階組件的返回值 他還是一個(gè)組件

然后在界面中使用了這個(gè)Subset 并傳遞了 name 值 對(duì)應(yīng)本組件的 state下的name

運(yùn)行代碼如下

其實(shí) 相當(dāng)于 將 subset 傳給了assist 而 assist 并沒(méi)有寫太多邏輯 只是接受到參數(shù)組件 又使用了參數(shù)組 并將父組件給到 props 給了參數(shù)組件

所以 相當(dāng)于還是subset輸出的

其實(shí)高階組件還是讓邏輯靈活了很多 他的具體場(chǎng)景 我們后續(xù)會(huì)更新

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

相關(guān)文章

  • 詳解React?ISR如何實(shí)現(xiàn)Demo

    詳解React?ISR如何實(shí)現(xiàn)Demo

    這篇文章主要為大家介紹了React?ISR如何實(shí)現(xiàn)Demo詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 使用Webpack打包React項(xiàng)目的流程步驟

    使用Webpack打包React項(xiàng)目的流程步驟

    隨著React應(yīng)用日益復(fù)雜,開發(fā)者需要借助模塊打包工具來(lái)管理項(xiàng)目依賴、轉(zhuǎn)換代碼和優(yōu)化性能,Webpack是一款功能強(qiáng)大的模塊打包器,它可以將React項(xiàng)目中的JavaScript、CSS、圖片等資源打包成瀏覽器友好的文件,本文將全面介紹如何使用Webpack打包React項(xiàng)目
    2025-03-03
  • React實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)(左右聯(lián)動(dòng))

    React實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)(左右聯(lián)動(dòng))

    這篇文章主要為大家詳細(xì)介紹了React實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • React?中hooks之?React.memo?和?useMemo用法示例總結(jié)

    React?中hooks之?React.memo?和?useMemo用法示例總結(jié)

    React.memo是一個(gè)高階組件,用于優(yōu)化函數(shù)組件的性能,通過(guò)記憶組件渲染結(jié)果來(lái)避免不必要的重新渲染,合理使用React.memo和useMemo可以顯著提升React應(yīng)用的性能,本文介紹React?中hooks之?React.memo?和?useMemo用法總結(jié),感興趣的朋友一起看看吧
    2025-01-01
  • React大文件分片上傳原理及方案

    React大文件分片上傳原理及方案

    前端進(jìn)行大文件分片上傳的方案幾乎都是利用Blob.prototype.slice方法對(duì)文件進(jìn)行分片,用數(shù)組將每一個(gè)分片存起來(lái),最后將分片發(fā)給后端,本文給大家介紹React大文件分片上傳方案,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 詳解React中函數(shù)式組件與類組件的不同

    詳解React中函數(shù)式組件與類組件的不同

    React?函數(shù)式組件與類組件的主要區(qū)別在于它們的定義和聲明方式以及它們之間的一些特性,所以本文就詳細(xì)的給大家講講React中函數(shù)式組件與類組件有何不同,需要的朋友可以參考下
    2023-09-09
  • 詳解如何在項(xiàng)目中使用jest測(cè)試react native組件

    詳解如何在項(xiàng)目中使用jest測(cè)試react native組件

    本篇文章主要介紹了詳解如何在項(xiàng)目中使用jest測(cè)試react native組件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • React與Redux之?dāng)?shù)組處理講解

    React與Redux之?dāng)?shù)組處理講解

    這篇文章主要介紹了React與Redux之?dāng)?shù)組處理講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 使用React和Redux Toolkit實(shí)現(xiàn)用戶登錄功能

    使用React和Redux Toolkit實(shí)現(xiàn)用戶登錄功能

    在React中,用戶登錄功能是一個(gè)常見的需求,為了實(shí)現(xiàn)該功能,需要對(duì)用戶輸入的用戶名和密碼進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果保存到應(yīng)用程序狀態(tài)中,在React中,可以使用Redux Toolkit來(lái)管理應(yīng)用程序狀態(tài),從而實(shí)現(xiàn)用戶登錄功能,需要詳細(xì)了解可以參考下文
    2023-05-05
  • React超詳細(xì)講述Fiber的使用

    React超詳細(xì)講述Fiber的使用

    在fiber出現(xiàn)之前,react的架構(gòu)體系只有協(xié)調(diào)器reconciler和渲染器render。當(dāng)前有新的update時(shí),react會(huì)遞歸所有的vdom節(jié)點(diǎn),如果dom節(jié)點(diǎn)過(guò)多,會(huì)導(dǎo)致其他事件影響滯后,造成卡頓。即之前的react版本無(wú)法中斷工作過(guò)程,一旦遞歸開始無(wú)法停留下來(lái)
    2023-02-02

最新評(píng)論

廊坊市| 三门县| 拉萨市| 怀仁县| 石泉县| 湖南省| 炉霍县| 渭南市| 岢岚县| 阳高县| 常德市| 漳州市| 玉门市| 沽源县| 井冈山市| 姚安县| 台湾省| 临湘市| 昭通市| 彰化市| 溧水县| 屏边| 宜良县| 武平县| 措美县| 巴中市| 固安县| 琼结县| 柳林县| 绿春县| 洛阳市| 江达县| 怀宁县| 五指山市| 盐山县| 遂宁市| 朝阳县| 巨野县| 合作市| 沅陵县| 靖边县|