Heim > Artikel > Web-Frontend > Wie greife ich in Action Creators auf den Redux-Status zu?
Zugriff auf den Redux-Status in Action Creators
Redux-Aktionen sind in der Regel „schlank“ konzipiert und enthalten nur die notwendigen Informationen zum Aktualisieren der Anwendung Zustand. In einigen Szenarien kann es jedoch erforderlich sein, innerhalb eines Aktionserstellers auf den globalen Speicherstatus zuzugreifen. In diesem Artikel werden zwei Ansätze hierfür untersucht und Anleitungen zu deren Verwendung gegeben.
Verwendung eines Singleton-Stores
Ein Ansatz besteht darin, einen Singleton-Store zu importieren und direkt auf seinen Status zuzugreifen.
import store from '../store'; export const SOME_ACTION = 'SOME_ACTION'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Obwohl dieser Ansatz einfach zu implementieren ist, hängt er stark davon ab, dass der Store ein Singleton ist und als Modulimport verfügbar gemacht wird. Von diesem Design wird abgeraten, da es die Implementierung des Server-Renderings behindert, bei dem normalerweise separate Speicherinstanzen pro Anfrage erforderlich sind.
Verwendung von Redux Thunk Middleware
Der empfohlene Ansatz ist Nutzen Sie die Redux Thunk-Middleware. Die Thunk-Middleware ermöglicht den Versand asynchroner Funktionen als Aktionen und bietet Zugriff auf die getState()-Methode.
export const SOME_ACTION = 'SOME_ACTION'; export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
Dieser Ansatz erfordert die Verwendung von Redux Thunk, ermöglicht aber einen flexiblen Zugriff auf den Speicherstatus auf beiden Clients und Serverumgebungen.
Überlegungen
Die Verwendung von getState() in Aktionserstellern wurde in der Redux-Community diskutiert. Während einige Entwickler dagegen plädieren, glauben andere, dass es in bestimmten Szenarien akzeptabel ist, etwa bei bedingten Zusendungen oder beim Zugriff auf zwischengespeicherte Daten.
Letztendlich hängt der beste Ansatz von den spezifischen Anwendungsanforderungen ab. Wenn innerhalb eines Aktionserstellers Zugriff auf den Store-Status erforderlich ist, können entweder die Singleton-Store- oder die Thunk-Middleware-Optionen in Betracht gezogen werden. Es ist jedoch wichtig zu beachten, dass Aktionen generell „dünn“ gehalten werden sollten, um Klarheit und Nachvollziehbarkeit zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie greife ich in Action Creators auf den Redux-Status zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!