Sollten Sie jemals this.setState()
bei Verwendung von Redux verwenden? Oder sollten Sie immer Aktionen ausführen und sich auf Requisiten verlassen?Sollten Sie jemals this.setState() bei der Verwendung von Redux verwenden?
Antwort
Klare Verwendungen von setState
wären für UI-Komponenten mit lokalem Anzeigestatus, die jedoch für die globale Anwendung nicht relevant sind. Zum Beispiel muss ein Boolescher Wert, der angibt, ob ein bestimmtes Dropdown-Menü aktiv angezeigt wird, nicht im globalen Status sein, sodass er bequemer vom Status der Menükomponente gesteuert wird.
Andere Beispiele können den Status von Linien in einer Akkordeonanzeige einer Hierarchie enthalten. Oder möglicherweise die aktuell ausgewählte Registerkarte in der Tab-Navigation. In beiden Beispielen könnten Sie jedoch trotzdem global mit dem UI-Status umgehen. Dies wäre beispielsweise erforderlich, wenn Sie den Expand/Collapse-Status im Browserspeicher beibehalten möchten, damit er bei der Seitenaktualisierung erhalten bleibt.
In der Praxis ist es normalerweise am einfachsten, solche UI-Elemente mit lokalem Status zu implementieren und sie bei Bedarf in den globalen Status umzuformen.
Um darauf hinzuweisen, betont der relevante Redux-FAQ-Eintrag, dass ** die Verwendung von 'setState' völlig in Ordnung ist **: http://redux.js.org/docs/faq/OrganizingState.html#organizing-state-only -redux-state – markerikson
Wenn Sie server-seitiges Rendern übergeben oder verwenden, sollten Sie immer Redux verwenden – neaumusic
- 1. Sollten Sie jemals lokale innere Funktionen verwenden?
- 2. Statusverwaltung bei Verwendung des Redux-Formular-Assistentenformulars
- 3. Können oder sollten Sie localStorage im Ausgangszustand von Redux verwenden?
- 4. Typ Fehler bei der Verwendung von Typescript mit React-Redux
- 5. Warum sollten Sie jemals das ViewState-Speicherobjekt von asp.net für das Sitzungsspeicherobjekt verwenden?
- 6. Wann sollten Sie "Prototyp" bei der Objektvergrößerung in Javascript verwenden?
- 7. Haben Sie jemals von einer Lizenzübertragungsgebühr bei der Übernahme gehört?
- 8. this.setState() ist keine Funktion bei der Verwendung von reagieren mit jquery innerhalb componentDidmount
- 9. XNA/DirectX: Sollten Sie immer Indizes verwenden?
- 10. Verwenden von Ada real_arrays-Operatoren bei der Verwendung von plplot
- 11. Verwenden von Redux mit Modellen
- 12. Fehler bei der Verwendung von React.createElement
- 13. Verwenden von Sugar ORM bei Verwendung der Singleton-Anwendungsklasse
- 14. Bei Verwendung von exuberant-Ctags welche Optionen verwenden Sie?
- 15. Was sind die Unterschiede zwischen Redux-Thunk und Redux-Promise bei Verwendung mit Axios apis?
- 16. bei der Verwendung von EditorFor
- 17. Wann sollten Sie Makros anstelle von Inline-Funktionen verwenden?
- 18. Sollten bei der Verwendung von argparse Validierung und Initialisierung in benutzerdefinierten Typen oder Aktionen auftreten?
- 19. Sollten Sie den typings-Ordner für es6-Projekte bei Verwendung von vscode festschreiben?
- 20. Fehler bei der Verwendung von Aktionen in react-redux darstellende Komponente
- 21. TypeError: _this.store.getState ist keine Funktion bei der Verbindung von Redux
- 22. Verwenden von Redux-Form mit React Router
- 23. Sollten Sie neue Erweiterungen bei Apple registrieren?
- 24. Wie übergeben Sie Befehlszeilenargumente bei der Verwendung von Ideone?
- 25. Stoppen Sie Elemente von Bewegung bei der Verwendung von StaggeredGridLayoutManager
- 26. Wann sollten Sie SparseArray setValueAt() verwenden?
- 27. So löschen Sie einen Zweig bei der Verwendung von Git
- 28. Wann sollten Sie standardmäßige HTML-Tags/-Inputs verwenden und wann sollten Sie die asp.net-Steuerelemente verwenden?
- 29. NoMethodError bei der Verwendung von breadcrumbs_on_rails gem
- 30. Wann sollten Sie explizit einen StringBuilder verwenden?
Es gibt nichts falsch daran, einige Komponenten mit Zustand zu haben. – zerkms
Das hängt vollständig davon ab, wo der Staat benutzt wird. Denken Sie an Redox-Läden als global. Alles, was nicht global sein muss, kann für eine Komponente und ihre untergeordneten Elemente privat bleiben. – azium