欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

React中高階組件的介紹-創(chuàng)新互聯(lián)

本篇文章給大家?guī)淼膬热菔顷P于React高階組件(裝飾器)的介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

十年來,創(chuàng)新互聯(lián)不忘初心,以網站建設互聯(lián)網行業(yè)服務標桿為目標,不斷提升技術設計服務水平,幫助客戶在互聯(lián)網推廣自己的產品、服務和品牌,為客戶創(chuàng)造價值從而實現自身價值!

首先在正式的高階組件之前我們先來了解一下函數的類似操作:

function hello () {
    console.log('hello')
}

function WrapperHello (fn) {
    return function () {
        console.log('before')
        fn && fn()
        console.log('after')
    }
}

hello = WrapperHello(hello)

hello()

以上這段代碼的輸出會先輸出before,然后 hello,最后再是after,hello函數相當于在外包裹了一層統(tǒng)一邏輯再進行了返回,并且聲明是又將原本的hello函數進行了覆蓋,這就是高階組件的基礎原理。

然后我們再寫一個基礎的高階組件對比一下:

import React, { Component, Fragment } from 'react'

function WrapperHello (Comp) {
    class WrapComp extends Component {
        render () {
            return (
                <Fragment >
                    <p >這是高階組件特有的函數</p >
                    <Comp { ...this.props }/>
                </Fragment >
            )
        }
    }
    
    return WrapComp
}

@WrapperHello
class Hello extends Component {
    render () {
        return (
            <p >Hello</p >
        )
    }
}

export default Hello

那么在這呢,不難發(fā)現其實組件也是一個函數,我們采用了同種思想對其進行了統(tǒng)一的數據處理,在WrapperHello函數中傳入的Comp組件,然后我們統(tǒng)一返回一個WrapComp函數,其中Comp在render的時候我們傳入和父級傳遞的所有props進行數據的全部交互,然后再在Hello組件上我們用@符號進行一個簡易的寫法,實際上就是和之前函數包裹一樣的原理進行了一次聲明,那么,我們最后輸出的組件Hello,他的顯示就會包括了我們高階組件中的‘   <p >這是高階組件特有的函數</p >’元素了。

高階組件主要又分為屬性代理反向繼承兩種類型,舉例中的函數就屬于屬性代理的類型。

反向繼承的例子:

function WrapperHello (Comp) {
    class WrapComp extends Component {
        componentDidMount () {
            console.log('高階組件新增的生命周期,加載完成')
        }
        
        render () {
            return (
                <Fragment >
                    <Comp { ...this.props }/>
                </Fragment >
            )
        }
    }
    
    return WrapComp
}

我們可以通過componentDidMount來修改原有組件生命周期發(fā)生的事件,這就是反向繼承的方式。

記住,高階函數返回的是一個函數,我們只是對其進行了相對應的包裝。

以上就是React高階組件(裝飾器)的介紹(代碼示例)的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享標題:React中高階組件的介紹-創(chuàng)新互聯(lián)
文章URL:http://chinadenli.net/article30/epsso.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、網站改版、品牌網站設計網站營銷、手機網站建設、網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設
国产又大又黄又粗的黄色| 亚洲av日韩av高潮无打码| 亚洲国产成人精品一区刚刚| 一个人的久久精彩视频| 婷婷一区二区三区四区| 国产91色综合久久高清| 日韩偷拍精品一区二区三区| 中国一区二区三区人妻| 日韩成人动作片在线观看| 亚洲精品一区三区三区| 国产精品一区二区三区黄色片| 亚洲av日韩av高潮无打码 | 亚洲国产成人久久99精品| 成年女人下边潮喷毛片免费| 亚洲精品伦理熟女国产一区二区| 亚洲一区二区三区av高清| 免费在线观看欧美喷水黄片| 91偷拍与自偷拍精品| 欧美日韩一级aa大片| 高清国产日韩欧美熟女| 午夜亚洲少妇福利诱惑| 国产精品欧美一级免费| 日本中文在线不卡视频| 日本道播放一区二区三区| 国产内射一级一片内射高清视频| 中文字幕91在线观看| 国产一区二区三区av在线| 91天堂免费在线观看 | 男女午夜在线免费观看视频| 不卡一区二区高清视频| 麻豆看片麻豆免费视频| 少妇熟女亚洲色图av天堂| 激情五月天深爱丁香婷婷| 免费观看潮喷到高潮大叫| 欧美日韩精品一区二区三区不卡| 91超精品碰国产在线观看| 国产日本欧美韩国在线| 五月激情婷婷丁香六月网| 偷自拍亚洲欧美一区二页| 91偷拍裸体一区二区三区| 欧美精品在线播放一区二区|