In Redux kann der Zugriff auf den globalen Store-Status in Action Creators ein umstrittenes Thema sein. Hier befassen wir uns mit zwei Ansätzen für den Statuszugriff bei Aktionserstellern und untersuchen deren Vor- und Nachteile.
import store from '../store'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Diese Methode importiert den Store direkt und verlässt sich darauf, dass es sich um einen handelt Singleton, der aus einem Modul exportiert wurde. Obwohl es funktionsfähig ist, wird davon aufgrund von Server-Rendering-Einschränkungen abgeraten, bei denen häufig separate Speicher pro Anfrage erforderlich sind.
export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
Dieser Ansatz nutzt Redux Thunk-Middleware, eine empfohlene Technik. Mit Thunk können Aktionsersteller Funktionen anstelle einfacher Aktionsobjekte versenden und so auf die Dispatch- und getState-Funktionen zugreifen. Obwohl Middleware erforderlich ist, funktioniert es nahtlos sowohl für das clientseitige als auch für das serverseitige Rendering.
Letztendlich hängt die beste Vorgehensweise von den individuellen Anwendungsanforderungen ab. Idealerweise sollten Aktionen nur minimale Informationen enthalten; Es ist jedoch akzeptabel, getState bei Bedarf in Aktionserstellern zu verwenden. Berücksichtigen Sie die Vor- und Nachteile beider Ansätze und wählen Sie den aus, der am besten zu Ihrem Projekt passt.
Das obige ist der detaillierte Inhalt vonWann ist State Access in Redux Action Creators das Richtige für Sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!