這些簡單的提示將幫助您構(gòu)建易于測試,更新和超級靈活的React應(yīng)用程序。編寫出色的代碼并不一定很復(fù)雜。不幸的是,我們經(jīng)常在構(gòu)建應(yīng)用程序時沒有考慮它們將如何演變以適應(yīng)未來的變化。
這些技術(shù)將如何成為救命稻草
以下是一些常見的場景,在這些場景中,這些小技術(shù)將證明是救命稻草:
易于測試。
適應(yīng)未來的更新。
業(yè)務(wù)邏輯的分離。
可預(yù)測的數(shù)據(jù)流。
編寫面向未來的組件
在編寫組件時,請始終記住以下拇指規(guī)則:
UI 組件應(yīng)始終不知道網(wǎng)絡(luò)請求、業(yè)務(wù)邏輯或應(yīng)用狀態(tài)。
組件應(yīng)該像純函數(shù)一樣編寫。它只是意味著,當(dāng)提供相同的道具時,它應(yīng)該始終呈現(xiàn)相同的數(shù)據(jù)。
有關(guān)編寫出色組件的詳細指南。查看本指南。
使用 HOC 使進化變得簡單
反應(yīng)高階組件 (HOC) 是接受組件并返回組件的組件。
在編寫 HOC 時,請始終記住以下拇指規(guī)則:
總是喜歡創(chuàng)建那些不創(chuàng)建任何道具的HOC。如果您的 HOC 需要創(chuàng)建道具,請始終確保它不會創(chuàng)建多個道具。
當(dāng)該行為由應(yīng)用中的多個組件或所有組件使用時,請使用 HOC。
確保該組件可以在沒有 HOC 的情況下工作。組件不應(yīng)創(chuàng)建與 HOC 的依賴關(guān)系。
組件可以直接包裝在 HOC 中,而無需向其添加其他邏輯。
為干凈的代碼構(gòu)建應(yīng)用
切勿在單個位置混合視圖呈現(xiàn)問題、數(shù)據(jù)處理和數(shù)據(jù)提取。混合所有東西將導(dǎo)致意大利面條式建筑,并且將來會變得痛苦。
始終使組件盡可能愚蠢。組件應(yīng)始終在給定相同狀態(tài)的情況下呈現(xiàn)相同的內(nèi)容。
Flux 體系結(jié)構(gòu)允許你為應(yīng)用創(chuàng)建可預(yù)測的數(shù)據(jù)流。在此體系結(jié)構(gòu)事件中,偵聽器偵聽用戶輸入處理程序和網(wǎng)絡(luò)請求處理程序等內(nèi)容。當(dāng)事件偵聽器獲取它們時,它會將操作調(diào)度到存儲。僅當(dāng)調(diào)度操作時,狀態(tài)才會更新。
在以下場景中使用基于通量架構(gòu)的庫,如反流、Redux 等:
該組件使用網(wǎng)絡(luò)請求或設(shè)備 API。
具有通用的應(yīng)用程序狀態(tài)。
該組件需要與應(yīng)用的其他部分共享的業(yè)務(wù)邏輯或數(shù)據(jù)操作邏輯。
使用通量架構(gòu)不僅可以讓您構(gòu)建高度靈活的 UI 組件,還可以將業(yè)務(wù)邏輯等內(nèi)容與組件分開。它將允許您輕松遷移到不同的數(shù)據(jù)獲取技術(shù)??深A(yù)測的單向數(shù)據(jù)流將使你的應(yīng)用易于調(diào)試和測試。
將化簡器視為應(yīng)用的核心,將調(diào)度程序視為適配器。與其在組件中混合業(yè)務(wù)邏輯,不如將它們放在 Redux(或您正在使用的任何內(nèi)容)中,并使用操作創(chuàng)建者觸發(fā)狀態(tài)更改。