Yükleniyor...

Durum Yönetimi Giriş

Vue.js’de durum yönetimi, bir uygulamadaki verilerin bileşenler arasında düzenli ve tutarlı bir şekilde kontrol edilmesini sağlayan bir yöntemdir. Küçük uygulamalarda durum, bileşenlerin kendi içinde saklanabilir; ancak uygulama büyüdükçe, merkezi bir durum yönetimi kullanmak, verilerin tutarlılığını sağlamak ve kod bakımını kolaylaştırmak için önemlidir.
Vue.js, ref ve reactive gibi reaktif veri araçları ile bileşen içinde durum oluşturmayı kolaylaştırır. Bu sayede veri değişiklikleri otomatik olarak arayüzü günceller. Daha büyük projelerde ise Vuex veya Pinia gibi kütüphaneler kullanılarak global durum yönetimi sağlanabilir. Bu yöntem, tüm bileşenlerin güvenli bir şekilde veriye erişmesini ve değişiklik yapmasını sağlar.
Bu eğitimde, Vue.js’de durum yönetimi ile ilgili temel kavramları, syntax, veri yapıları, basit algoritmalar ve nesne yönelimli programlama prensiplerini öğreneceksiniz. Durumun bileşenlerle nasıl bağlandığını, yaygın hatalardan nasıl kaçınılacağını ve verimli tasarım desenlerinin nasıl uygulanacağını göreceksiniz. Bu bilgiler, Vue.js projelerinde daha güvenilir ve ölçeklenebilir uygulamalar geliştirmenizi sağlayacaktır.

Temel Örnek <template>

text
TEXT Code
<div>
<h1>Basit Sayaç</h1>
<p>Mevcut Değer: {{ count }}</p>
<button @click="increment">Arttır</button>
</div>
</template>

<script>
import { ref } from 'vue';

export default {
setup() {
const count = ref(0);

function increment() {
count.value++;
}

return { count, increment };
}
}
</script>

Bu temel örnekte, Vue.js Composition API kullanılarak basit bir sayaç oluşturulmuştur. ref fonksiyonu, reaktif bir değişken olan count’u oluşturur; bu sayede değer değiştiğinde arayüz otomatik olarak güncellenir. increment fonksiyonu, butona tıklandığında sayacı arttırır.
setup() bloğu, bileşenin durumunu ve metodlarını tanımlamak için kullanılır. return { count, increment } ifadesi, bu değişkenlerin template içinde erişilebilir olmasını sağlar. Bu örnek, durum yönetiminin temel prensiplerini: reaktif veri oluşturma, arayüz ile bağlama ve kontrollü veri güncelleme yollarını göstermektedir. Ayrıca, DOM’u doğrudan manipüle etmeden durumu yönetmeyi ve hafıza sızıntılarını önlemeyi öğretir.

Pratik Örnek <template>

text
TEXT Code
<div>
<h2>Görev Listesi</h2>
<input v-model="newTask" placeholder="Yeni görev" />
<button @click="addTask">Ekle</button>
<ul>
<li v-for="task in tasks" :key="task.id">
{{ task.text }}
<button @click="removeTask(task.id)">Sil</button>
</li>
</ul>
</div>
</template>

<script>
import { reactive } from 'vue';

export default {
setup() {
const state = reactive({
tasks: [],
newTask: ''
});

function addTask() {
if (state.newTask.trim() !== '') {
state.tasks.push({ id: Date.now(), text: state.newTask });
state.newTask = '';
}
}

function removeTask(id) {
state.tasks = state.tasks.filter(task => task.id !== id);
}

return { ...state, addTask, removeTask };
}
}
</script>

Bu pratik örnek, görev listesi uygulaması üzerinden durum yönetimini gösterir. reactive ile bir obje oluşturulmuş ve bu obje içinde görevler listesi ve input değeri tutulmuştur. addTask fonksiyonu yeni görev eklerken, removeTask fonksiyonu seçilen görevi siler.
v-model direktifi, input ile state arasında çift yönlü veri bağlaması sağlar. v-for ile listelenen görevler otomatik olarak güncellenir. Bu örnek, daha karmaşık veri yapılarının nasıl yönetileceğini, basit algoritmaların ve OOP prensiplerinin Vue.js bileşenlerinde nasıl uygulanacağını gösterir.

Vue.js’de durum yönetiminde en iyi uygulamalar ve yaygın hatalar:

  • ref ve reactive kullanarak reaktif veri oluşturmak, DOM’u doğrudan manipüle etmemek
  • Yerel ve global durumları ayırarak ölçeklenebilirlik sağlamak
  • Array ve objeleri güncellerken push, filter, map gibi reaktif yöntemler kullanmak
  • computed ve watch ile türetilmiş verileri ve değişiklikleri takip etmek
  • Kullanıcı girişlerini doğrulamak ve güvenliği sağlamak
  • Vue DevTools ile durumları debug etmek
  • Bellek sızıntısı ve gereksiz UI güncellemelerinden kaçınmak
  • Büyük veri setlerinde performans optimizasyonu yapmak

📊 Referans Tablosu

Vue.js Element/Concept Description Usage Example
ref Yerel reaktif durum oluşturur const count = ref(0)
reactive Objeler ve arrayler için reaktif durum const state = reactive({ tasks: [] })
v-model Input ve state arasında çift yönlü bağ <input v-model="newTask" />
@event DOM olaylarını metoda bağlar <button @click="addTask">Ekle</button>
computed Türetilmiş özellikler oluşturur const double = computed(() => count.value * 2)
watch Durum değişikliklerini izler watch(count, (newVal) => console.log(newVal))

Durum yönetimi, Vue.js’de reaktif uygulamalar oluşturmanın temelidir. Yerel ve global durumları ayırt etmek, uygulamayı ölçeklenebilir ve sürdürülebilir kılar. Öğrendikleriniz, Vuex/Pinia kullanımı, modüler mimari, asenkron veri yönetimi ve computed ile watch fonksiyonlarının ileri düzey kullanımı gibi konulara hazırlar. Bu bilgilerle, Vue.js projelerinde güvenilir ve profesyonel uygulamalar geliştirebilirsiniz.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek