小編給大家分享一下react高階組件的作用是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)主營從江網站建設的網絡公司,主營網站建設方案,成都App制作,從江h(huán)5小程序設計搭建,從江網站營銷推廣歡迎從江等地區(qū)企業(yè)咨詢react高階組件深入理解、作用以及應用
本文主要以通俗易懂的語言表達自己對高階組件的一些見解,希望大家多多提問
高階組件深入理解高階組件就是一個函數(shù),傳給它一個組件,它返回一個新的組件。新的組件使用傳入的組件作為子組件。
首先根據(jù)定義我們明白它就是一個函數(shù),而且它必須有返回值,返回值是一個組件,當然這里我們高階組件可以嵌套(這里是一篇入門的文章,之后我會更新高階組件多層嵌套)
高階組件的作用一直以來我們都是看到新的知識都是一直學習,一直看官方文檔,沒有靜下心來想一想到底為什么這個新知識能夠在這個時候出現(xiàn)?為什么它剛出現(xiàn)就這么火?它到底在什么情況下用?它能解決什么問題……等等這一系列的問題
我第一次見到這個詞是在redux中解讀connect組件時,看到這個詞,官方文檔也有具體說明個人推薦到這里去看,比官方文檔,解釋的更好
其實高階組件就是把公用的一些部分提出來,把修改的部分以參數(shù)的形勢傳進去,在這里可能有人會說這那需用什么高階組件,我自己封裝一個組件也可以達到同樣的效果,簡單的組件在這里你可能通過封裝來實現(xiàn),但是我舉兩個例子大家在想一下怎么通過組建封裝來實現(xiàn):1、antd組件的form組件,2、我們在redux中組件頂部寫一行代碼@connect之后就可以在組件中通過this.props訪問store中的數(shù)據(jù)和一些修改數(shù)據(jù)的方法
這里也許也會有一些大牛說我可以實現(xiàn),但是大牛畢竟比較少,可能許多程序員在心理都會覺得自己是大牛,在這里我可以告大家一個檢測自己實力的方法:就是沒事的時候把建立投一下阿里或者是京東,然后去面試一下,我敢保證許多人就會現(xiàn)行;
高階組件的用處說了那么多廢話,說點有用的吧,高階組件一般用在那些地方呢
我們從一個實際問題來理解并學習高階組件:有類似的幾個組件但是組件內部只有少部分是不同的,它們身上都還有一些公用的方法,并且這些少部分組件組件都還要調用大組件的方法或者訪問它的一些數(shù)據(jù)
我們來分一下:1,這幾個組件的大部分樣式和功能是相同的,我們可以可以思考能不能只寫一次;2、它們不同的地方還會觸發(fā)一些相同的方法;3、不同的地方只是內部的一小部分
如果我們按照組件封裝的方法來實現(xiàn)的的話,我們封裝一個大組件,然后把不同的小組件傳進去,然后通過props把方法傳到小組件,通過回調觸發(fā),但是這里有一個問題,我們寫這幾個組件的時候每次都要把大組件寫一遍然后把子組件嵌入進去
加入這里我們采用高階組件來實現(xiàn)的話,我們只需要把公用的方法和數(shù)據(jù)寫到高階函數(shù)返回的組件中,然后把組件傳進去就可以了,最后在每個調用這個大組件的地方直接調用這個函數(shù)就可以了。
在上圖中我們的代碼可以這樣來實現(xiàn)
//先寫高階組件 export default class HigherOrderComponent(InputComponent){ return class NewComponent extends Component{ constructor(){ super() this.state={ initalState:123 } } commonFunc=()=>{ } render(){ return( <InputComponent data={this.state.initialSate} fun={this.commonFnn}/> ) } } } //再來寫outerComponent import HigherOrderComponent from 'HigherOrderComponent'; import MinComponent1 from 'MinComponent1'; import MinComponent2 from 'MinComponent2'; class OuterComponent extends Component{ render(){ return( <p> {HigherOrderComponent(minComponent1)} {HigherOrderComponent(minComponent2)} </p> ) } } 這樣這個outerComponent就寫完了,直接在這個編輯器里寫的,代碼可能會有以下小的錯誤,大家諒解
以上是react高階組件的作用是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)網站制作公司行業(yè)資訊頻道!
當前題目:react高階組件的作用是什么-創(chuàng)新互聯(lián)
標題鏈接:http://aaarwkj.com/article16/phodg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、營銷型網站建設、企業(yè)網站制作、標簽優(yōu)化、做網站、品牌網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)