Sobes.tech
Middle

Vuex'dagi mutatsiyalar haqida gapirib bering.

sobes.tech AI

AIdan javob

Vuex'dagi mutatsiyalar — bu ombor holatini o'zgartirishning yagona usulidir. Ular sinxron va holat (state) ni birinchi argument sifatida qabul qiladi. Ikkinchi argument payload obyekti bo'lishi mumkin.

Ular modul yoki asosiy ombor ob'ekti mutations obyektida aniqlanadi. Ularni commit metodi bilan chaqirish mumkin.

// Mutatsiya ta'rifi
const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++ // Holatni o'zgartirish
    },
    incrementBy (state, payload) {
      state.count += payload.amount // Payload bilan holatni o'zgartirish
    }
  }
})

// Mutatsiyani chaqirish
store.commit('increment')
store.commit('incrementBy', { amount: 10 })

Asosiy nuqtalar:

  • Sinxron: Barcha mutatsiyalar sinxron tarzda bajariladi, bu holat o'zgarishlarining oldindan aytib bo'ladiganligini ta'minlaydi.
  • Faqat usul: Faqat mutatsiyalar holatni to'g'ridan-to'g'ri o'zgartirishi mumkin.
  • commit: Mutatsiyalarni chaqirish uchun store.commit() metodidan foydalaniladi.
  • Payload: Mutatsiya ikkinchi argument sifatida payload qabul qilishi mumkin, bu qo'shimcha ma'lumotlarni o'z ichiga oladi.
  • Kuzatuv: Vuex Devtools amalga oshirilgan barcha mutatsiyalarni kuzatadi, bu debuggingni osonlashtiradi.

Harakatlar (actions) bilan farqi:

  • Sinxron vs Asinxron: Mutatsiyalar sinxron, harakatlar esa asinxron operatsiyalarni o'z ichiga olishi mumkin.
  • Holatni to'g'ridan-to'g'ri o'zgartirish vs Mutatsiyalarni chaqirish: Mutatsiyalar holatni to'g'ridan-to'g'ri o'zgartiradi, harakatlar mutatsiyalarni chaqiradi.
Xususiyat Mutatsiyalar Harakatlar
Sinxron Sinxron Asinxron bo'lishi mumkin
Holatni o'zgartirish To'g'ridan-to'g'ri o'zgartiradi Mutatsiyalarni chaqiradi
Chaqiruv store.commit() store.dispatch()
Ma'nosi Holat yozuvi Biznes mantiq, asinxron operatsiyalar