pinia é uma biblioteca de gerenciamento de estado específica do Vue que permite o compartilhamento de estado entre componentes ou páginas
A diferença entre pinia e vuex :
- Suporte a TypeScript mais amigável, o suporte anterior do Vuex para TS era muito hostil
- Comparado ao Vuex, o Pinia fornece uma API mais simples com menos cerimônia, fornecendo uma API estilo Composition API
- Não há mais estruturas aninhadas de módulos
- Também não há mais o conceito de namespaces, não há necessidade de lembrar seus relacionamentos complexos
Conheça a loja
Uma loja (como Pinia) é uma entidade que pode salvar o estado global, para que você possa definir qualquer número de lojas para gerenciar seu estado, como: estado, getters, ações
definir uma loja
A loja é definida usando defineStore(), que também requer um nome, passado como primeiro parâmetro
O estado é o núcleo do armazenamento, semelhante aos dados, que podem ser usados para armazenar o estado global
Getters são semelhantes a componentes computados usados para encapsular propriedades computadas e usar cache
As ações podem modificar o estado