我有一個Redux商店,包含9個case語句的reducer。其中六個案例涉及在狀態數組中填充數組,處理所述數組的排序,因此沒有自然的方式來拆分減速器,可以將減速器合併爲一個嗎?Redux,何時拆分減速器?
-1
A
回答
0
是的,可以將減速機作爲一體使用。比方說,如果我有一個用戶reducer,我會考慮拆分reducer,如果它太大無法管理,或者它與用戶無關,這是我的第一個。你只有9個開關盒,應該沒問題。
0
案例陳述的數量並不是決定是否應該拆分縮減器的正確指標。相反,它是你的reducer動作處理程序正在工作的狀態切片的嵌套深度如何。。如果它太深,代碼可能會爆炸。
比方說你有這樣的狀態,形狀:
{
cart: {
products: [ {name:"shirt"}, {name:"pants"} ],
checkout: false,
}
}
在單/全球減速的設置,你可能有這樣的動作處理程序:
//reducer.js
case ADD_CART_PRODUCT:
const {newProduct} = payload
const {cart: {products}} = state
return {...state, cart: {...state.cart, products: [...products, newProduct] } }
不壞,但是你可以爲影響的動作處理程序分割出狀態切片,將您的代碼縮小至此:
//cartReducer.js
case ADD_CART_PRODUCT:
const {newProduct} = payload
const {products} = state //this is actually state.cart from the global perspective
return {...state, products: [...products, newProduct] } }
相關問題
- 1. 如何從Redux的減速
- 2. Redux減速器不被稱爲
- 3. Redux:減速器的全局配置
- 4. 在redux減速器中處理錯誤
- 5. React/redux - Onclick對減速器的反應
- 6. 如何在pyspark中設置拆分和減速器的數量
- 7. 爲什麼Redux不將我的動作分配給減速器?
- 8. 大型應用程序中的拆分減速器
- 9. Redux - 如何在減速器中添加條目
- 10. 如何返回Redux的減速器的對象數組狀態
- 11. Redux的減速器遍歷如何有效?
- 12. 如何在redux減速器中推送字符串數組?
- 13. 陣營-Redux的路由器推與動作/減速器
- 14. Redux行動不叫減速機
- 15. Redux會減慢開發速度嗎?
- 16. Redux - 減速機與動作的關係
- 17. 如何在多個redux減速器中同時觸發單個初始動作?
- 18. 我的時刻的時間Redux的減速
- 19. 如何拆分1鍵下的減速機?
- 20. Redux - 組合減速器如何知道應用狀態的哪個子組通過減速器
- 21. Redux - 一對多縮減器
- 22. 在Redux子減速器中設置初始狀態
- 23. 爲什麼Redux中沒有組合減速器接收狀態?
- 24. 這個減速器是否符合Redux規則?
- 25. 訪問狀態從另一個減速器反應/ Redux
- 26. redux減速器流量不推斷類型
- 27. 將Redux減速器映射到狀態中的未知密鑰
- 28. Redux - 結合多個減速器導致狀態清除
- 29. Redux減速器嘔吐間歇性錯誤
- 30. Redux - 保持相關的減速器同步