Heim  >  Artikel  >  Web-Frontend  >  Wann ist der Zugriff auf den Redux-Status innerhalb von Action Creators gerechtfertigt?

Wann ist der Zugriff auf den Redux-Status innerhalb von Action Creators gerechtfertigt?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 18:47:29672Durchsuche

When Is Accessing Redux State Within Action Creators Justified?

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:

  • Dan Abramov rät vom Zugriff auf den Status in Aktionserstellern ab und argumentiert, dass dadurch der Änderungsverlauf verschleiert und das Debuggen behindert wird.
  • Mark Erikson hingegen empfiehlt die Verwendung von getState in Thunk-Aktionserstellern und verweist auf den beabsichtigten Zweck .

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!

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