Ich habe einen Redux-Shop mit einem Reducer bestehend aus 9 Case-Anweisungen. Sechs dieser Fälle befassen sich damit, ein Array in dem Zustand zu bevölkern, in dem sich die weißen drei mit der Sortierung des Arrays befassen, daher gibt es keine natürliche Art, den Reduzierer zu spalten, ist es in Ordnung, den Reduzierer als einen zu verlassen?Redux, wann soll man Reduzierungen spalten?
Antwort
Ja, es ist in Ordnung, das Reduzierstück als eins zu lassen. Nehmen wir an, wenn ich einen Reducer für User habe, würde ich mir überlegen, den Reducer aufzuteilen, wenn er zu groß wird, um ihn zu verwalten, oder wenn er nichts mit User zu tun hat und das war mein erster. Sie haben nur 9 Switch Cases und das sollte in Ordnung sein.
Die Anzahl der Fallanweisungen ist nicht die richtige Metrik für die Entscheidung, ob der Reduzierer geteilt werden soll. Eher ist es wie tief verschachtelt ist der Zustand Slice, die Ihre Reducer Action Handler auf arbeitet. Wenn es zu tief ist, könnte der Code explodieren.
Lassen Sie uns sagen Sie diesen Zustand Form haben:
{
cart: {
products: [ {name:"shirt"}, {name:"pants"} ],
checkout: false,
}
}
In einem einzigen/global Minderer-Setup, können Sie diese Aktion Handler:
//reducer.js
case ADD_CART_PRODUCT:
const {newProduct} = payload
const {cart: {products}} = state
return {...state, cart: {...state.cart, products: [...products, newProduct] } }
Nicht schlecht , aber Sie können eine cartReducer
für Aktionshandler abspalten, die diebetrifftstate slice, schrumpfen Sie Ihren Code dazu:
//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 verschachtelte Reduzierungen oder Normalzustand?
- 2. Redux Unit Test - Reduzierungen und Aktion Schöpfer
- 3. verbinden mehrere Reduzierungen mit Dekorator in Redux
- 4. Redux: Aktionen und Reduzierungen für jede Ressource?
- 5. Wie Querschnittsthemen in redux Reduzierungen und Aktionen
- 6. Gemeinsame Aktionen und Reduzierungen mit react/redux
- 7. Redux: Verwenden verschiedener Reduzierungen für eine Komponente
- 8. Redux-Aktionen rufen keine Reduzierungen auf
- 9. Redux - Kombinieren mehrerer Reduzierungen führen zu Zustandsbereinigung
- 10. Warum Aktionen + Reduzierungen in Redux trennen?
- 11. redux-saga wann man Gabel benutzt?
- 12. Verschachtelte Reduzierungen
- 13. So geben Sie den Status der Redux-Reduzierungen zurück
- 14. Wann Redux verwenden?
- 15. Gemeinsame Nutzung von Daten zwischen zwei Redux Reduzierungen/States
- 16. Wann soll super.onPause() aufgerufen werden?
- 17. React-Redux: Das Kombinieren von Reduzierungen schlägt fehl
- 18. React-native Redux Sollte Geschäftslogik in Aktionen oder Reduzierungen sein
- 19. Aktualisieren der Deep-Eigenschaft eines Objekts mit Redux-Reduzierungen
- 20. ist es möglich, verschachtelte Reduzierungen in redux zu haben?
- 21. Verwenden verschachtelter Objekte in redux Ausgangszustand und Reduzierungen
- 22. Muster zum Verwalten mehrerer Reduzierungen innerhalb eines Moduls [Redux]
- 23. Redux: Organisation von Containern, Komponenten, Aktionen und Reduzierungen
- 24. Wann WebResponse.Close() aufgerufen werden soll
- 25. Wann JobScheduler.schedule() aufgerufen werden soll
- 26. Wann document.appendChild() aufgerufen werden soll?
- 27. Versand zu Reduzierungen
- 28. Wann ein neues Repository erstellt werden soll?
- 29. Sollen die Reduzierungen verschachtelt werden?
- 30. Soll ich statische Konfiguration in Redux speichern?