Maison  >  Article  >  interface Web  >  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
Patricia Arquetteoriginal
2024-10-21 18:47:29603parcourir

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,
  }
}

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));
  }
}

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!

Déclaration:
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