Méthode pour obtenir une référence au magasin Pinia actuel : opération de combinaison dynamique
P粉195200437
2023-08-14 14:12:02
<p>C'est « à peu près » ce que je veux : </p>
<pre class="brush:php;toolbar:false;">// Il s'agit d'une fonction composable générale :
fonction export useGeneric() {
fonction génériqueAct(){
const store = getCurrentStore(); // C'est ce dont j'ai besoin
stocker.une.valeur = 42 ;
store.act2(); // Cette action doit être implémentée à l'aide d'une fonction commune dans le magasin
}
retourner {genericAct}
}
// Voici un exemple de magasin qui l'utilise
export const useMyStore = definitionStore('myStore', () => {
const a = réf(1);
const b = réf(1);
const {genericAct} = useGeneric();
fonction acte2(){
b.valeur = 43 ;
}
return {a, b, genericAct, act2} ;
}</pré>
<p>Comment puis-je obtenir le stockage auquel cette action est liée ? (Ou comment le passer en argument à <code>useGeneric</code>?)</p>
<p>(Bien sûr, ce n'est que l'exemple le plus simple. Dans des applications pratiques, je l'utiliserai pour faire des choses plus utiles...)</p>
Je ne sais pas si c'est la meilleure façon, vous pouvez également considérer le commentaire de @Estus Flask :
Mais j'ai fini par choisir de passer
useMyStore
en paramètre.Notez qu'il doit être appelé à chaque opération générique car au moment de l'exécution de
useGeneric()
, le magasin n'a pas encore été créé.Voici l'exemple de code :