Sobes.tech
Middle

Vuex-də mutasiyalar haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

Vuex-də mutasiyalar anbarın vəziyyətini dəyişdirmək üçün yeganə yoldur. Onlar sinxron və ilk arqument kimi vəziyyəti (state) qəbul edir. İkinci arqument payload obyekt ola bilər.

Onlar modul və ya kök anbar obyektində mutations obyektində təyin olunur. commit metodu ilə çağırılırlar.

// Mutasiya təyini
const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++ // Vəziyyəti dəyişdirmək
    },
    incrementBy (state, payload) {
      state.count += payload.amount // Payload ilə vəziyyəti dəyişdirmək
    }
  }
})

// Mutasiyanı çağırmaq
store.commit('increment')
store.commit('incrementBy', { amount: 10 })

Əsas nöqtələr:

  • Sinxron: Bütün mutasiyalar sinxron şəkildə icra olunur, bu da vəziyyət dəyişikliklərinin proqnozlaşdırılmasını təmin edir.
  • Yeganə üsul: Yalnız mutasiyalar vəziyyəti birbaşa dəyişə bilər.
  • commit: Mutasiyaları çağırmaq üçün store.commit() metodundan istifadə olunur.
  • Payload: Mutasiya ikinci arqument qəbul edə bilər - payload, əlavə məlumatlar ehtiva edir.
  • İzləmə: Vuex Devtools bütün həyata keçirilmiş mutasiyaları izləyir, debugging-i asanlaşdırır.

Əməliyyatlar (actions) ilə fərqlər:

  • Sinxron vs Asinxron: Mutasiyalar sinxron, əməliyyatlar isə asinxron ola bilər.
  • Birbaşa vəziyyət dəyişdirmə vs Mutasiyaları çağırmaq: Mutasiyalar vəziyyəti birbaşa dəyişir, əməliyyatlar mutasiyaları çağırır.
Xüsusiyyət Mutasiyalar Əməliyyatlar
Sinxron Sinxron Asinxron ola bilər
Vəziyyət dəyişdirmə Birbaşa vəziyyəti dəyişir Mutasiyaları çağırır
Çağırış store.commit() store.dispatch()
Məqsəd Vəziyyətin yazılması Biznes loqikası, asinxron əməliyyatlar