Les données (state)
Le state d’un store Pinia contient les données centrales de votre application.
Ce sont elles que vous allez afficher, trier, filtrer, modifier...
Exemple dans le Pokédex
Voici un extrait simple du state dans notre store :
js
state: () => ({
pokemons: [],
favorites: [],
types: []
})pokemonscontient tous les Pokémon à afficher dans la grille,favoritesest une liste d’ID représentant les Pokémon favoris,typescontient la liste des types (Feu, Eau, etc.).
Accéder au state dans un composant
Pour utiliser ces données dans un composant Vue, il suffit d’importer le store, puis d’y accéder comme à n’importe quel objet :
js
const pokemonStore = usePokemonStore()
console.log(pokemonStore.pokemons) // Affiche le tableau de Pokémon
console.log(pokemonStore.favorites) // Affiche les ID favorisDans le template :
vue
<p>Nombre de Pokémon : {{ pokemonStore.pokemons.length }}</p>Modifier les données
Même si c’est possible, il est déconseillé de modifier les données directement dans le state.
Exemple à éviter :
js
pokemonStore.pokemons.push(newPokemon)Il vaut mieux utiliser une action, prévue à cet effet (comme addPokemon()).