Dans Redux, l'accès à l'état du magasin global au sein des créateurs d'action peut être un sujet controversé. Ici, nous allons approfondir deux approches d'accès à l'état dans les créateurs d'action et explorer leurs avantages et leurs inconvénients.
import store from '../store'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Cette méthode importe directement le magasin, en s'appuyant sur le fait qu'il s'agit d'un singleton exporté depuis un module. Bien que fonctionnel, il est déconseillé en raison des limitations de rendu du serveur, où des magasins séparés sont souvent requis par requête.
export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
Cette approche utilise le middleware Redux Thunk, une technique recommandée. Thunk permet aux créateurs d'actions de distribuer des fonctions au lieu de simples objets d'action, donnant ainsi accès aux fonctions de répartition et getState. Bien qu'il nécessite un middleware, il fonctionne de manière transparente pour le rendu côté client et côté serveur.
En fin de compte, la meilleure approche dépend des exigences de chaque application. Idéalement, les actions devraient contenir un minimum d'informations ; cependant, il est acceptable d'utiliser getState dans les créateurs d'actions lorsque cela est nécessaire. Considérez les avantages et les inconvénients des deux approches et choisissez celle qui correspond le mieux à votre projet.
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!