J'essaie de mieux comprendre ce qu'est l'objet "contextuel" dans Vuex.
objet contextuel est mentionné à plusieurs reprises dans la documentation Vuex. Par exemple, dans https://vuex.vuejs.org/en/actions.html , nous avons:
Les gestionnaires d'actions reçoivent un objet contextuel qui expose le même ensemble de méthodes/propriétés sur l'instance de magasin, vous pouvez donc appeler context.commit pour valider une mutation ...
Je comprends comment pour l'utiliser, et aussi que nous pouvons utiliser la déstructuration si nous voulons seulement utiliser le "commit" de l'objet contextuel, mais j'espérais un peu plus de profondeur, juste pour que je peut mieux comprendre ce qui se passe.
Pour commencer, j'ai trouvé quelques messages de ~ 8,5 ans sur "l'objet contextuel" comme modèle: qu'est-ce que le modèle de conception d'objet contextuel? et Pouvez-vous expliquer le modèle de conception contextuelle?
Cependant, spécifiquement pour Vuex, j'aimerais une meilleure compréhension de:
Je vous remercie!
De la documentation vous avez indiqué que vous pouvez lire:
Nous verrons pourquoi cet objet de contexte n'est pas l'instance de magasin lui-même lorsque nous présenterons les modules plus tard.
L'idée principale de l'objet contextuel est d'abstraire la portée du module actuel . Si vous accédez simplement à store.state
, ce sera toujours l'état racine.
L'objet contextuel des actions et ses propriétés/méthodes sont décrits ici dans le code source et également référencés dans le documentation API
Voici la liste:
{
state, // same as store.state, or local state if in modules
rootState, // same as store.state, only in modules
commit, // same as store.commit
dispatch, // same as store.dispatch
getters, // same as store.getters, or local getters if in modules
rootGetters // same as store.getters, only in modules
}
Pour commencer, j'ai trouvé un couple de ~ 8,5 ans sur "l'objet contextuel" comme modèle ...
Je pense que vous en lisez trop.
Je ne pense pas que les documents Vuex font référence à un type spécifique d '"objet de contexte" qui est connu et défini ailleurs, ils signifient simplement que l'objet qui est passé aux gestionnaires d'actions (et dans d'autres situations comme décrit dans les documents) est un objet personnalisé auquel ils se réfèrent comme un objet "contextuel" par leur propre définition.
La raison pour laquelle ils fournissent cet objet est qu'il contient des propriétés spécifiques au module pour ce gestionnaire d'actions particulier.