Pinia
| Pinia | |
|---|---|
| Autor | Eduardo San Martin Morote |
| Lançamento inicial | novembro de 2019 (6 anos) |
| Lançamento estável | 2.3.1
/ 20 de janeiro de 2025 |
| Repositório | github |
| Escrito em | TypeScript |
| Plataforma | Web |
| Antecessor | Vuex |
| Tamanho | ~1.5 KB |
| Tipo | Biblioteca de gestão de estado |
| Licença | Licença MIT |
| Website | pinia |
Pinia é uma biblioteca de armazenamento e um framework de gestão de estado para Vue.js.[1] Foi concebida principalmente para o desenvolvimento de aplicações web front-end, utilizando uma sintaxe declarativa e fornecendo a sua própria API de gestão de estado. A Pinia foi endossada pela equipa do Vue.js como uma alternativa credível ao Vuex e é actualmente a biblioteca oficial de gestão de estado do ecossistema Vue.[2]
Visão geral
Ao contrário do Vuex, a Pinia é modular por concepção e não utiliza mutações. Isto permite aos programadores criar múltiplas stores e importá-las conforme necessário nos componentes. O framework disponibiliza um armazenamento centralizado com mecanismos integrados para guardar, actualizar e recuperar o estado da aplicação.[3]
História
A Pinia foi idealizada pelo programador do Vue.js Eduardo San Martin Morote[4] como uma exploração de como o Vuex poderia evoluir no futuro.[5] O objectivo era criar uma API mais simples, com menos complexidade estrutural, e melhorar o suporte à inferência de tipos em TypeScript.[6] A Pinia tornou-se uma parte oficial do ecossistema Vue.js a 7 de Fevereiro de 2022.[5]
O nome da biblioteca deriva da palavra espanhola piña, que significa “ananás”. Segundo os seus criadores, um ananás é composto por várias flores individuais que se unem para formar um único fruto, de forma semelhante às stores, que nascem individualmente mas permanecem interligadas.[7]
Funcionalidades
Pilares das stores
As stores na Pinia são definidas através de um objecto JavaScript com várias propriedades que determinam o seu comportamento. Estas propriedades são consideradas os “pilares” de uma store e incluem id, state, getters e actions.[8]
import { defineStore, acceptHMRUpdate } from 'pinia';
export const useCounterStore = defineStore('counter', {
state: () => ({
counter: 0,
}),
getters: {
doubleCount: (state) => state.counter * 2,
},
actions: {
increment() {
this.counter++;
},
},
});
if (import.meta.hot) {
import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot));
}
Suporte a Devtools
A Pinia integra-se com o Vue Devtools, uma extensão popular para depuração de aplicações Vue.js.[9]
Suporte a plugins
O framework oferece suporte a vários plugins, incluindo Nuxt e o Vue Devtools.[10]
Substituição dinâmica de módulos
A Pinia permite a substituição dinâmica de módulos (hot module replacement), possibilitando a modificação das stores sem recarregar a página e preservando o estado actual da aplicação.
Ver também
Referências
- ↑ Gerchev, Ivaylo (11 de abril de 2022). «Complex Vue 3 state management made easy with Pinia». LogRocket Blog (em inglês). Consultado em 22 de fevereiro de 2023
- ↑ «Build a To-do List App with Pinia and Vue 3». Deepgram (em inglês). 12 de outubro de 2022. Consultado em 22 de fevereiro de 2023
- ↑ Jahr, Adam. «What is Pinia? - Pinia Fundamentals». Vue Mastery (em inglês). Consultado em 18 de janeiro de 2023
- ↑ «Pinia, an Alternative Vue.js Store - Vue School Blog». Vue School (em inglês). Consultado em 17 de janeiro de 2023
- ↑ a b Mariappan (13 de outubro de 2022). «What makes Pinia the new default?». Frontend Weekly (em inglês). Consultado em 17 de janeiro de 2023
- ↑ «Pinia vs. Vuex: Is Pinia a good replacement for Vuex?». DEV Community (em inglês). Consultado em 22 de fevereiro de 2023
- ↑ «Everything Beyond State Management in Stores with Pinia». morioh.com. Consultado em 22 de fevereiro de 2023
- ↑ «Pinia vs Vuex: Farewell Vuex, Hello Pinia! How to Get Started?». Software Planet Group (em inglês). 11 de janeiro de 2023. Consultado em 17 de janeiro de 2023
- ↑ «How To Handle State Management in Vue Using Pinia». CoderPad (em inglês). 27 de janeiro de 2023. Consultado em 22 de fevereiro de 2023
- ↑ «Everything Beyond State Management in Stores with Pinia». GitNation (em inglês). Consultado em 18 de janeiro de 2023
Ligações externas
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.