Heim >Web-Frontend >js-Tutorial >Wie greife ich in Action Creators auf den Redux Store-Status zu: Direct vs. Redux Thunk?

Wie greife ich in Action Creators auf den Redux Store-Status zu: Direct vs. Redux Thunk?

Linda Hamilton
Linda HamiltonOriginal
2024-10-21 18:50:03474Durchsuche

How to Access Redux Store State in Action Creators: Direct vs. Redux Thunk?

Auf den Redux-Store-Status in Action Creators zugreifen

Beim Erstellen von Aktionen in Redux müssen Sie möglicherweise auf den globalen Store-Status zugreifen. In diesem Artikel werden zwei Ansätze untersucht, um dies zu erreichen: direkter Zugriff auf den Status über eine importierte Speichervariable oder Verwendung einer Redux Thunk-Middleware.

Direkter Zugriff auf den Status

<code class="javascript">import store from '../store';

export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return {
    type: SOME_ACTION,
    items: store.getState().otherReducer.items,
  }
}</code>

Dieser Ansatz basiert darauf, dass der Store ein Singleton ist, der aus einem Modul exportiert wird. Obwohl es technisch funktionsfähig ist, wird es nicht empfohlen, da es das serverseitige Rendering erschwert, bei dem für jede Anfrage separate Speicher erforderlich sind.

Verwendung von Redux Thunk

<code class="javascript">export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return (dispatch, getState) => {
    const {items} = getState().otherReducer;

    dispatch(anotherAction(items));
  }
}</code>

Verwendung von Redux Die Thunk-Middleware ermöglicht den Zugriff auf den Speicherstatus über die getState-Funktion. Dieser Ansatz wird bevorzugt, da er sowohl in Client- als auch in Serverumgebungen nahtlos funktioniert.

Überlegungen

Über die Verwendung von getState in Aktionserstellern gibt es unterschiedliche Meinungen. Einige argumentieren, dass es auf Szenarien beschränkt werden sollte, in denen zwischengespeicherte Daten überprüft oder der Authentifizierungsstatus überprüft wird. Andere behaupten, dass es akzeptabel sei, getState in Thunks zu verwenden.

Letztendlich hängt der beste Ansatz von den spezifischen Anforderungen Ihrer Anwendung ab. Während Aktionen im Idealfall prägnant sein sollten, gibt es Fälle, in denen der Zugriff auf den Status direkt im Aktionsersteller gerechtfertigt sein kann.

Das obige ist der detaillierte Inhalt vonWie greife ich in Action Creators auf den Redux Store-Status zu: Direct vs. Redux Thunk?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn