pinia
, Vue.js uygulamaları için bir durum yönetimi kütüphanesidir. Vue.js, bileşen tabanlı bir framework olduğundan, uygulama durumunun yönetimi önemlidir ve bu durum yönetimi, bileşenler arasında veri akışını sağlar.
pinia
, tek bir merkezi deposunda (store) uygulama durumunu saklar ve bu duruma tek bir yerden erişim sağlar. Bu, büyük ölçekli uygulamalarda bileşenler arasındaki veri tutarsızlığını önler ve uygulama durumunun güncellenmesini ve yönetilmesini kolaylaştırır.
pinia
, npm paket yöneticisi aracılığıyla yüklenebilir. Aşağıdaki komutu kullanarak pinia
kütüphanesini bir projeye yükleyebilirsiniz:
npm install pinia
pinia
, Vue.js’deki bileşenlerde durum yönetimi sağlamak için kullanılır. Bu kütüphane, Vue.js uygulamanızın ana bileşeninde createPinia()
işlevini çağırarak bir merkezi depo oluşturmanıza olanak tanır. Bu merkezi depo, tüm bileşenlerinizde erişilebilir olacaktır.
Aşağıdaki örnek, bir counter
bileşeni oluşturur ve bu bileşenin sayacını pinia
merkezi deposunda saklar:
<template>
<div>
<button @click="increment">Increment</button>
<p>Count: {{ count }}</p>
</div>
</template>
<script>
import { defineComponent } from 'vue';
import { createPinia } from 'pinia';
const pinia = createPinia();
export default defineComponent({
setup() {
const { state, increment } = pinia.useStore({
id: 'counter',
state: () => ({ count: 0 }),
actions: {
increment() {
state.count++;
},
},
});
return { count: state.count, increment };
},
});
</script>
Bu kod, createPinia()
işlevini kullanarak pinia
merkezi deposunu oluşturur. pinia.useStore()
işlevi, counter
depomuzu oluşturur ve state
değişkeninde bileşen durumunu ve increment
fonksiyonunu saklar. increment
fonksiyonu, state.count
değişkenini artırır.
Bileşen içinde, count
ve increment
değişkenleri, setup()
işlevinde geri döndürülür. Bu değişkenler, bileşen içinde kullanılabilecek durum değişkeni ve artırma işlevi sağlar. count
değişkeni, merkezi depodaki state.count
değişkenine bağlanır ve increment
değişkeni, merkezi depodaki increment()
işlevine bağlanır.
pinia
kütüphanesi, Vue.js uygulamalarında durum yönetimini kolaylaştırır ve koda daha az tekrarlamayı sağlar. Bu nedenle, büyük ölçekli Vue.js uygulamaları için ideal bir seçenektir.
Ayrıca, pinia
kütüphanesi, Vue.js 3.x sürümünü destekler ve TypeScript ile tam uyumludur. Bu da, daha güvenli ve tutarlı kod yazmanızı sağlar.
Sonuç olarak, npm install pinia
komutu, pinia
kütüphanesini bir Vue.js projesine yükler ve merkezi bir depo oluşturarak bileşenler arasındaki veri akışını yönetmenizi sağlar.