Heim  >  Artikel  >  Web-Frontend  >  Wie greife ich in Action Creators auf den Redux-Status zu?

Wie greife ich in Action Creators auf den Redux-Status zu?

Barbara Streisand
Barbara StreisandOriginal
2024-10-21 18:47:02800Durchsuche

How to Access Redux State within Action Creators?

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!

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