Sobes.tech
Middle

Дар бораи тағйиротҳо дар Vuex гӯед.

sobes.tech AI

Ҷавоб аз AI

Vuex-да мутациялар — бу қойма ҳолатини ўзгартиришнинг ягона усули. Улар синхрон ва ҳолат (state) ни биринчи аргумент сифатида қабул қилади. Иккинчи аргумент payload объект бўлиши мумкин.

Улар модуль ёки асосий қойма объектида mutations объектида таърифланади. commit усули билан чақирилади.

// Мутацияни таърифлаш
const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++ // Ҳолатни ўзгартириш
    },
    incrementBy (state, payload) {
      state.count += payload.amount // Payload билан ҳолатни ўзгартириш
    }
  }
})

// Мутацияни чақириш
store.commit('increment')
store.commit('incrementBy', { amount: 10 })

Асосий нуқталар:

  • Синхрон: Барча мутациялар синхрон амалга оширилади, бу ҳолат ўзгартиришларининг олдиндан айтилганлигини таъминлайди.
  • Фақат усул: Фақат мутациялар ҳолатни тўғридан-тўғри ўзгартириши мумкин.
  • commit: Мутацияларни чақириш учун store.commit() усули қўлланилади.
  • Payload: Мутация иккинчи аргументни қабул қилади — payload, қўшимча маълумотлар билан.
  • Кузатиш: Vuex Devtools амалга оширилган барча мутацияларни кузатади, дебаглашни осонлаштиради.

Ҳаракатлар (actions) билан фарқлари:

  • Синхрон vs Асинхрон: Мутациялар синхрон, ҳаракатлар эса асинхрон операцияларни ўз ичига олиши мумкин.
  • Тўғридан-тўғри ҳолат ўзгартириш vs Мутацияларни чақириш: Мутациялар ҳолатни тўғридан-тўғри ўзгартириши, ҳаракатлар чақиради мутацияларни.
Хусусият Мутациялар Ҳаракатлар
Синхрон Синхрон Асинхрон бўлиши мумкин
Ҳолат ўзгартириш Тўғридан-тўғри ўзгартириш Мутацияларни чақириш
Чақириш store.commit() store.dispatch()
Мақсад Ҳолатни ёзиш Бизнес логика, асинхрон операциялар