摘要:對于高階組件的使用場景如果有相關(guān)經(jīng)驗的或者有不同的見解的希望能夠在我的博客下面留言最近在重構(gòu)組件時,學習了一些高階組件的編寫思路,其實是由高階函數(shù)沿伸而來。
對于高階組件的使用場景如果有相關(guān)經(jīng)驗的或者有不同的見解的希望能夠在我的博客下面留言
最近在重構(gòu)react組件時,學習了一些高階組件的編寫思路,其實是由高階函數(shù)沿伸而來。
一般情況我們編寫一個react組件大致樣子如下:
class App extends Component { constructor(props){} life cycle(){} method(){} render(){} }
在編寫一個基礎(chǔ)組件我們會更多的將需要配置的東西通過props傳遞進來,那么高階組件是什么樣子的呢?
個人理解高階組件就是react中復用組件邏輯的一種技巧,先來個高階函數(shù)壓壓驚:
function add(a,b){ return a+b }
如果我希望在函數(shù)處理的過程中能夠?qū)崟r追蹤這個值并且打印出來呢,我們會這樣處理:
function add(a,b){ console.log(a+b) return a+b }
可是當我們有很多這樣的小功能,比如加減乘除之類的,那我們就要把打印那句話寫很多遍,有什么辦法偷個懶呢?
function log(func){ return function (){ var args = Array.prototype.slice.call(arguments) var res = func.apply(null,args) console.log(res) return res } }
//感覺和koa的中間件有點神似
高階組件的編寫也比較類似
function hoc(Wrap){ return class App entends Component { render (){ return} } }
其實寫到這里高階函數(shù)究竟好在哪里我還沒有體會出來,如果說對于一個組件而言我們將view層和邏輯層代碼當成參數(shù)傳遞進去,這樣我們在開發(fā)組件的時候只需要把邏輯層和展示層組裝一下就能拼成一個業(yè)務組件,但仔細思考一下其實對于一開始提出的編寫方式也能實現(xiàn)類似的功能,只需要將邏輯抽象成配置項就可以,而且對于這種高階組件還有一種實現(xiàn)方式就是繼承式
const App = (props) => { return class Child entends Parents{ render (){ return{super.render()}} } }
通過繼承的方式最好的應該就是能獲取到父類的state,但是要注意的就是小心會覆蓋父類中的方法,其實這種方式也可以通過import一個組件的方式來引入父類。
所以目前為止,我所接觸到的業(yè)務場景,并沒有突出高階組件好在哪里。。。。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84450.html
摘要:函數(shù)式編程,一看這個詞,簡直就是學院派的典范。所以這期周刊,我們就重點引入的函數(shù)式編程,淺入淺出,一窺函數(shù)式編程的思想,可能讓你對編程語言的理解更加融會貫通一些。但從根本上來說,函數(shù)式編程就是關(guān)于如使用通用的可復用函數(shù)進行組合編程。 showImg(https://segmentfault.com/img/bVGQuc); 函數(shù)式編程(Functional Programming),一...
摘要:前端每周清單半年盤點之與篇前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點分為新聞熱點開發(fā)教程工程實踐深度閱讀開源項目巔峰人生等欄目。與求同存異近日,宣布將的構(gòu)建工具由遷移到,引發(fā)了很多開發(fā)者的討論。 前端每周清單半年盤點之 React 與 ReactNative 篇 前端每周清單專注前端領(lǐng)域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點;分為...
摘要:我們可以在組件的設計上,玩轉(zhuǎn)出很多花樣。但是,如何對一個功能復雜且臃腫的組件進行分解,也許并不是一件簡單的事情。同時,借助于新的算法引擎,兩個單元組件在渲染的效率上,樂觀地預計會有較大幅度的提升。 之前分享過幾篇關(guān)于React技術(shù)棧的文章: 做出Uber移動網(wǎng)頁版還不夠 極致性能打造才見真章 解析Twitter前端架構(gòu) 學習復雜場景數(shù)據(jù)設計 React Conf 2017 干貨總結(jié)1...
摘要:我現(xiàn)在寫的這些是為了解決和這兩個狀態(tài)管理庫之間的困惑。這甚至是危險的,因為這部分人將無法體驗和這些庫所要解決的問題。這肯定是要第一時間解決的問題。函數(shù)式編程是不斷上升的范式,但對于大部分開發(fā)者來說是新奇的。規(guī)模持續(xù)增長的應 原文地址:Redux or MobX: An attempt to dissolve the Confusion 原文作者:rwieruch 我在去年大量的使用...
閱讀 3077·2021-09-22 15:20
閱讀 2600·2019-08-30 15:54
閱讀 1966·2019-08-30 14:06
閱讀 3114·2019-08-30 13:05
閱讀 2457·2019-08-29 18:36
閱讀 568·2019-08-29 15:10
閱讀 523·2019-08-29 11:17
閱讀 818·2019-08-28 18:11