前段時(shí)間在工作中寫Hybrid頁面時(shí)遇到了這樣的一個(gè)場景,公司需要一系列的活動(dòng)組件,在每個(gè)組件注冊的時(shí)候都需要調(diào)用App端提供的一個(gè)接口。一開始也考慮了幾種方式,包括mixin、組件繼承以及react高階組件。但經(jīng)過了種種衡量,最后選擇使用了高階組件的做法。
那什么是高級(jí)組件?首先你得先了解請(qǐng)求ES6中的class只是語法糖,本質(zhì)還是原型繼承。能夠更好的進(jìn)行說明,我們將不會(huì)修改組件的代碼。而是通過提供一些能夠包裹組件的組件, 并通過一些額外的功能來增強(qiáng)組件。這樣的組件我們稱之為高階組件(Higher-Order Component)。
1、Mixins的缺點(diǎn)
React官方已不推薦使用Mixins的技術(shù)來實(shí)現(xiàn)代碼的重用,Mixins技術(shù)有一系列的缺點(diǎn),首先Mixins會(huì)造成命名沖突,我們通過以下的方式來注入Mixins:
var myMixins = require('myMixins'); var Button = React.createClass({ mixins: [myMixins], // ... })
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。