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 :
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!