Maison > interface Web > js tutoriel > Quand l'accès à l'état Redux au sein des créateurs d'action est-il justifié ?

Quand l'accès à l'état Redux au sein des créateurs d'action est-il justifié ?

Patricia Arquette
Libérer: 2024-10-21 18:47:29
original
696 Les gens l'ont consulté

When Is Accessing Redux State Within Action Creators Justified?

Accéder à l'état Redux au sein des créateurs d'action : avantages et inconvénients

L'accès à l'état du magasin Redux à partir des créateurs d'action reste un sujet de débat dans le communauté.

Approche 1 : Importer le magasin

import store from '../store';
export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return {
    type: SOME_ACTION,
    items: store.getState().otherReducer.items,
  }
}
Copier après la connexion

Bien que cette approche évite le middleware, elle repose sur le fait que le magasin est un singleton exporté à partir d'un module. Cependant, le rendu du serveur nécessite des magasins séparés pour chaque requête, ce qui rend cette approche peu pratique.

Approche 2 : Utilisation de getState

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

    dispatch(anotherAction(items));
  }
}
Copier après la connexion

Cette approche nécessite l'utilisation de Redux Thunk middleware mais permet plus de flexibilité, fonctionnant de manière transparente à la fois sur le client et le serveur.

Opinions des contributeurs de Redux

Les opinions sur cette question varient selon les contributeurs de Redux :

  • Dan Abramov décourage l'accès à l'état dans les créateurs d'action, arguant que cela obscurcit l'historique des modifications et entrave le débogage.
  • Mark Erikson, quant à lui, encourage l'utilisation de getState au sein des créateurs d'action thunk, citant son objectif. .

Conclusion

En fin de compte, la décision d'accéder aux créateurs d'état en action dépend des besoins spécifiques d'une application. Si une charge utile d’action minimale est souhaitée, il peut être préférable d’éviter getState. Cependant, si le cas d'utilisation le justifie, l'accès à l'état au sein de thunks offre plus de flexibilité et de compatibilité côté serveur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal