真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

react高階組件的作用是什么-創(chuàng)新互聯(lián)

小編給大家分享一下react高階組件的作用是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)主營從江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,從江h(huán)5小程序設(shè)計(jì)搭建,從江網(wǎng)站營銷推廣歡迎從江等地區(qū)企業(yè)咨詢

react高階組件深入理解、作用以及應(yīng)用

本文主要以通俗易懂的語言表達(dá)自己對高階組件的一些見解,希望大家多多提問

高階組件深入理解

高階組件就是一個(gè)函數(shù),傳給它一個(gè)組件,它返回一個(gè)新的組件。新的組件使用傳入的組件作為子組件。

首先根據(jù)定義我們明白它就是一個(gè)函數(shù),而且它必須有返回值,返回值是一個(gè)組件,當(dāng)然這里我們高階組件可以嵌套(這里是一篇入門的文章,之后我會(huì)更新高階組件多層嵌套)

高階組件的作用

一直以來我們都是看到新的知識(shí)都是一直學(xué)習(xí),一直看官方文檔,沒有靜下心來想一想到底為什么這個(gè)新知識(shí)能夠在這個(gè)時(shí)候出現(xiàn)?為什么它剛出現(xiàn)就這么火?它到底在什么情況下用?它能解決什么問題……等等這一系列的問題

我第一次見到這個(gè)詞是在redux中解讀connect組件時(shí),看到這個(gè)詞,官方文檔也有具體說明個(gè)人推薦到這里去看,比官方文檔,解釋的更好

其實(shí)高階組件就是把公用的一些部分提出來,把修改的部分以參數(shù)的形勢傳進(jìn)去,在這里可能有人會(huì)說這那需用什么高階組件,我自己封裝一個(gè)組件也可以達(dá)到同樣的效果,簡單的組件在這里你可能通過封裝來實(shí)現(xiàn),但是我舉兩個(gè)例子大家在想一下怎么通過組建封裝來實(shí)現(xiàn):1、antd組件的form組件,2、我們在redux中組件頂部寫一行代碼@connect之后就可以在組件中通過this.props訪問store中的數(shù)據(jù)和一些修改數(shù)據(jù)的方法

這里也許也會(huì)有一些大牛說我可以實(shí)現(xiàn),但是大牛畢竟比較少,可能許多程序員在心理都會(huì)覺得自己是大牛,在這里我可以告大家一個(gè)檢測自己實(shí)力的方法:就是沒事的時(shí)候把建立投一下阿里或者是京東,然后去面試一下,我敢保證許多人就會(huì)現(xiàn)行;

高階組件的用處

說了那么多廢話,說點(diǎn)有用的吧,高階組件一般用在那些地方呢

我們從一個(gè)實(shí)際問題來理解并學(xué)習(xí)高階組件:有類似的幾個(gè)組件但是組件內(nèi)部只有少部分是不同的,它們身上都還有一些公用的方法,并且這些少部分組件組件都還要調(diào)用大組件的方法或者訪問它的一些數(shù)據(jù)

我們來分一下:1,這幾個(gè)組件的大部分樣式和功能是相同的,我們可以可以思考能不能只寫一次;2、它們不同的地方還會(huì)觸發(fā)一些相同的方法;3、不同的地方只是內(nèi)部的一小部分

如果我們按照組件封裝的方法來實(shí)現(xiàn)的的話,我們封裝一個(gè)大組件,然后把不同的小組件傳進(jìn)去,然后通過props把方法傳到小組件,通過回調(diào)觸發(fā),但是這里有一個(gè)問題,我們寫這幾個(gè)組件的時(shí)候每次都要把大組件寫一遍然后把子組件嵌入進(jìn)去

加入這里我們采用高階組件來實(shí)現(xiàn)的話,我們只需要把公用的方法和數(shù)據(jù)寫到高階函數(shù)返回的組件中,然后把組件傳進(jìn)去就可以了,最后在每個(gè)調(diào)用這個(gè)大組件的地方直接調(diào)用這個(gè)函數(shù)就可以了。

react高階組件的作用是什么

在上圖中我們的代碼可以這樣來實(shí)現(xiàn)

//先寫高階組件
export default class HigherOrderComponent(InputComponent){
    return class NewComponent extends Component{
        constructor(){
            super()
            this.state={
                initalState:123
            }
        }
        commonFunc=()=>{
        }
        render(){
            return(
                
            )
        }
    }
}
//再來寫outerComponent
import HigherOrderComponent from 'HigherOrderComponent';
import MinComponent1 from 'MinComponent1';
import MinComponent2 from 'MinComponent2';
class OuterComponent extends Component{
    render(){
        return(
            

{HigherOrderComponent(minComponent1)} {HigherOrderComponent(minComponent2)}

) } } 這樣這個(gè)outerComponent就寫完了,直接在這個(gè)編輯器里寫的,代碼可能會(huì)有以下小的錯(cuò)誤,大家諒解

以上是react高階組件的作用是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!


本文名稱:react高階組件的作用是什么-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/phodg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部