我正在使用類似React的方法處理我的項目,我的問題是我的減肥者非常「平坦」,但他們需要處理不同狀態樹區域中的許多更新,以便他們獲得更多並且更復雜。重構脂肪減少者
例如,在分派動作'DO_SOMETHING'後,首先我需要在3 LOC內更新我的狀態,但是當項目增長並且需要處理其他功能時,有人希望看到基本結果+額外的東西執行相同的操作後。所以你可以想象,花了數週時間後,減速器變得「變胖」,它們以同樣的方式觸及同一棵樹的許多不同區域,但是很難在它們中正確構造代碼(一個狀態樹和一個商店)。
在大多數教程我只能找到特定情景的:
- 調度「ADD_TODO」
- 更新狀態,增加新的待辦事項到待辦事項的陣列
,而在我的情況下,它就像:
case SELECT_FILTER:
return Object.assign({}, state, {
oneProperty: ...,
anotherProperty: null,
nextProperty: false
// and the logic is getting bigger and bigger
})
- DISPA TCH「SELECT_FILTER」
- 更新應用的過濾器部(施加濾波器的UI摘要),其將被用來獲取從服務器數據
- 清除此
- 複製
- 更新查詢
- 下個月此過濾器應還...
:/
我試圖打造 「臺減速器」 - 篩選減速器,減速名單,等等但問題在於我在同一頁面上工作,並且傳入的功能引入了交叉更改。在較小的應用程序中,簡單的分組是可以的,但是現在每個縮減器似乎都對我的狀態的許多部分感興趣。
所以我的問題是如何適當地構建我的減速器?也許我把過多的「本地狀態」放入狀態樹?或者是其他東西?我期待着看到你的解決方案與組成和構造減速器相關。
很多很棒的閱讀!謝謝! – psmyrdek