Zugriff auf den Redux-Store-Status innerhalb von Action Creators: Vor- und Nachteile
Der Zugriff auf den Redux-Store-Status innerhalb von Action Creators bleibt ein Diskussionsthema in der Community.
Ansatz 1: Importieren des Stores
import store from '../store'; export const SOME_ACTION = 'SOME_ACTION'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Während dieser Ansatz Middleware vermeidet, basiert er darauf, dass der Store ein Singleton ist, der aus einem Modul exportiert wird. Allerdings erfordert das Server-Rendering separate Speicher für jede Anfrage, was diesen Ansatz unpraktisch macht.
Ansatz 2: Verwendung von getState
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 Middleware ermöglicht aber mehr Flexibilität und funktioniert nahtlos sowohl auf dem Client als auch auf dem Server.
Meinungen von Redux-Mitwirkenden
Die Meinungen zu diesem Thema variieren zwischen Redux-Mitwirkenden:
Fazit
Letztendlich hängt die Entscheidung, auf Status-in-Action-Ersteller zuzugreifen, von den spezifischen Anforderungen einer Anwendung ab. Wenn eine minimale Aktionsnutzlast gewünscht wird, kann die Vermeidung von getState vorzuziehen sein. Wenn der Anwendungsfall dies jedoch rechtfertigt, bietet der Zugriff auf den Status innerhalb von Thunks mehr Flexibilität und serverseitige Kompatibilität.
Das obige ist der detaillierte Inhalt vonWann ist der Zugriff auf den Redux-Status innerhalb von Action Creators gerechtfertigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!