Maak eenvoudig eenvoudige, op status gebaseerde apps met behulp van deze JavaScript-bibliotheek.

Belangrijkste leerpunten

  • Pinia is een staatsbeheerbibliotheek voor Vue die app-ontwikkeling eenvoud en efficiëntie biedt, met een focus op minimalisme en een intuïtieve benadering.
  • De kernconcepten van Pinia omvatten getters, acties, opslag en status, waarmee ontwikkelaars gegevens in hun Vue-componenten effectief kunnen beheren en delen.
  • Vergeleken met Vuex biedt Pinia een modernere en minimalistischere benadering, waarbij het gebruikmaakt van het reactiviteitssysteem van Vue en strikte type- en TypeScript-ondersteuning biedt voor robuustere applicaties met minder bugs. Het is een haalbare optie voor nieuwe projecten of het migreren van Vuex.

Bent u een Vue-ontwikkelaar en wilt u uw statusbeheer stroomlijnen en uw app-ontwikkeling naar nieuwe hoogten brengen? Zeg hallo tegen Pinia, de baanbrekende staatsbeheerbibliotheek voor Vue-enthousiastelingen.

Bekijk stap voor stap de kernconcepten van Pinia en ontdek hoe u het potentieel ervan kunt ontsluiten. Ontdek hoe deze bibliotheek zich verhoudt tot Vuex en leer hoe u een eenvoudige Pinia-app kunt maken.

instagram viewer

Wat is pinia?

Pinia is speciaal een bibliotheek voor staatsbeheer gemaakt voor Vue, ontworpen om ongeëvenaarde eenvoud en efficiëntie te brengen in uw Vue-projecten. Ontwikkeld om Vue-ontwikkelaars een naadloze ervaring te bieden, haalt Pinia inspiratie uit de best practices van modern statusbeheer terwijl het extreem licht van gewicht is en eenvoudig te integreren in uw applicaties.

De filosofie achter Pinia is om de zaken minimaal en elegant te houden, zodat ontwikkelaars moeiteloos de status van de applicatie kunnen beheren. Met een eenvoudige en intuïtieve benadering stelt Pinia u in staat om u te concentreren op wat het belangrijkst is en een uitzonderlijke gebruikerservaring te bieden bij het bouwen van uw Vue-app.

Kernconcepten van Pinia

Om het meeste uit Pinia te halen, is het essentieel om de basisconcepten te begrijpen.

getters

Getters in Pinia zijn verantwoordelijk voor het extraheren en retourneren van specifieke waarden uit de winkelstatus. Door getters te definiëren, kunt u gegevens efficiënt benaderen en verwerken zonder de onderliggende status direct te manipuleren. Zie ze als berekende eigenschappen die zijn afgestemd op de status van uw winkel.

Acties

Acties spelen een cruciale rol in Pinia, waardoor u de status van de winkel kunt wijzigen door asynchrone of synchrone bewerkingen uit te voeren. Ze dienen als brug tussen de componenten van uw applicatie en de winkel, en zorgen ervoor dat toestandsmutaties voorspelbare patronen volgen en zich houden aan best practices.

Winkel

De winkel vertegenwoordigt het hart van Pinia en bevat de status, getters, acties en mutaties van de applicatie (indien aanwezig). Het fungeert als een enkele bron van waarheid, waardoor de status van uw applicatie gecentraliseerd en gemakkelijk toegankelijk blijft voor al uw componenten.

Staat

Staat verwijst naar de gegevens die uw winkel beheert. Het zijn de reactieve gegevens waarop uw componenten vertrouwen om de meest actuele informatie aan de gebruiker weer te geven. Door het state-object in de winkel te gebruiken, kunt u naadloos gegevens tussen componenten beheren en delen.

Hoe zit het met Vuex?

Je vraagt ​​je misschien af ​​hoe Pinia zich verhoudt tot Vuex, dat al geruime tijd een standaardbeheerbibliotheek is voor Vue-ontwikkelaars. Hoewel Vuex ongetwijfeld een robuuste en krachtige oplossing is, onderscheidt Pinia zich door een meer moderne en minimalistische aanpak.

Pinia gebruikt het reactiviteitssysteem van Vue om de status te beheren, waardoor er geen externe afhankelijkheden nodig zijn. Dit betekent dat het Pinia-ecosysteem meer gefocust is en potentiële bloat voorkomt. Bovendien kunt u dankzij de strikte typ- en TypeScript-ondersteuning die het biedt fouten vroeg in het ontwikkelingsproces opsporen, wat leidt tot robuustere applicaties met minder bugs.

Als u een nieuw Vue-project start of overweegt te migreren van Vuex, biedt Pinia een aantrekkelijk alternatief dat het statusbeheer stroomlijnt zonder concessies te doen aan flexibiliteit of prestaties.

Eenvoudige Vue-app met behulp van Pinia

Probeer een voorbeeldtoepassing te bouwen om alles over Pinia te weten te komen; A eenvoudige takenlijstmanager is een goede kandidaat. Een takenlijst-app heeft een eenvoudige structuur waarin gebruikers taken kunnen toevoegen, hun voltooiing kunnen markeren en aangeven, en taken naar behoefte kunnen verwijderen en bewerken. Pinia biedt de tools die u nodig hebt om de status van dergelijke applicaties te beheren.

Vereisten

Allereerst moet u de benodigde omgeving voor dit project voorbereiden, te beginnen met de Vue CLI.

# To install Vue CLI:
npm install -g @vue/cli

# To create the project folder with Vue CLI:
vue create pinia-todo-app

In dit stadium kunt u in de terminal zien dat u een preset moet selecteren. U kunt doorgaan door te selecteren Vue 3 van de standaardinstellingen; dit voorbeeld zal Vue 3 blijven gebruiken.

Nu kunt u Pinia installeren in uw projectmap:

cd pinia-todo-app
npm install pinia

Stel uw bestanden in

U hoeft alleen maar een paar bestanden te bewerken om dit voorbeeldproject te voltooien.

Maak eerst een bestand met de naam winkel.js onder de src map. Dit bestand bevat, voegt toe en verwijdert items die u aan de takenlijst wilt toevoegen. Het zal dit allemaal doen met behulp van Pinia-kernconcepten.

// src/store.js
import { defineStore } from"pinia";

exportconst useTodoStore = defineStore("todo", {
state: () => ({
todos: [],
}),
actions: {
addTodo(todoText) {
this.todos.push({ id: Date.now(), text: todoText });
},
removeTodo(todoId) {
this.todos = this.todos.filter((todo) => todo.id !== todoId);
},
},
});

Maar dit dossier alleen is natuurlijk niet genoeg. Je moet de koppeling maken winkel.js bestand met App.vue. Wijzig hiervoor de src/App.vue bestand als volgt:

// src/App.vue