Heim > Web-Frontend > js-Tutorial > Wie sollten Redux-Aktionsersteller auf den Status zugreifen: Von Store oder Thunk?

Wie sollten Redux-Aktionsersteller auf den Status zugreifen: Von Store oder Thunk?

Barbara Streisand
Freigeben: 2024-10-21 18:48:29
Original
544 Leute haben es durchsucht

How Should Redux Action Creators Access State: From Store or Thunk?

Zugriff auf den Redux-Status innerhalb von Aktionserstellern

Frage:

Wie geht das in einer Redux-Anwendung? Kann man von einem Aktionsersteller aus auf den globalen Speicherstatus zugreifen? Sind die folgenden Ansätze angemessen?

Ansatz 1:

<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>
Nach dem Login kopieren

Ansatz 2:

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

    dispatch(anotherAction(items));
  }
}</code>
Nach dem Login kopieren

Antwort:

Die Akzeptanz des Statuszugriffs innerhalb von Aktionserstellern ist ein Diskussionsthema innerhalb der Redux-Community.

Ansatz 1:

Vom direkten Zugriff auf den Status über store.getState() wird abgeraten, da dieser davon abhängt, dass Store ein globaler Singleton ist. Auf dem Server, wo pro Anfrage separate Stores vorhanden sein können, ist dieser Ansatz problematisch.

Ansatz 2:

Dieser Ansatz wird bevorzugt, da er Redux Thunk-Middleware verwendet, die ermöglicht asynchrone Aktionen und das Abrufen des Speicherstatus über getState(). Thunk funktioniert nahtlos sowohl auf dem Client als auch auf dem Server und stellt sicher, dass der Statuszugriff auf die spezifische Aktion beschränkt ist.

Überlegungen:

  • Perspektive des Redux-Erstellers: Der Statuszugriff in Aktionserstellern kann den Änderungsverlauf verschleiern und wird generell nicht empfohlen.
  • Perspektive des Redux-Betreuers: Die Verwendung von getState in Thunks wird empfohlen, da es eine Funktion nutzt, die speziell für solche Anwendungsfälle entwickelt wurde .

Letztendlich können beide Ansätze zu den gewünschten Ergebnissen führen, aber Ansatz 2 ist die empfohlene Best Practice, um potenzielle Fallstricke zu vermeiden und die Konsistenz in allen Umgebungen aufrechtzuerhalten.

Das obige ist der detaillierte Inhalt vonWie sollten Redux-Aktionsersteller auf den Status zugreifen: Von Store oder Thunk?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage