Sobes.tech
Middle

Millist oleku haldamise kontseptsiooni rakendab Vuex JavaScriptis?

sobes.tech AI

Vastus AI-lt

Vuex rakendab keskseotud poe kontseptsiooni kõigi Vue.js rakenduse komponentide jaoks.

Vuex-i põhikontseptsioonid:

  • State: Ainsaks tõe allikaks rakenduse andmetele.
  • Getters: State-ist tuletatud omadused, mida kasutatakse andmete arvutamiseks või filtreerimiseks.
  • Mutations: Sünkroonsed funktsioonid, mis muudavad state-i. Need on ainus viis state-i muutmiseks.
  • Actions: Asünkroonilised toimingud, mis võivad sisaldada mis tahes loogikat ja kutsuvad mutations-i.
  • Modules: Võimaldavad jagada poe väiksemateks, iseseisvateks üksusteks.

Näide Vuex-i kasutamisest:

// mutation
const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  actions: {
    incrementAsync ({ commit }) {
      setTimeout(() => {
        commit('increment')
      }, 1000)
    }
  },
  getters: {
    doubleCount (state) {
      return state.count * 2
    }
  }
})

// mutatsiooni kutsumine komponendist
this.$store.commit('increment')

// tegevuse kutsumine komponendist
this.$store.dispatch('incrementAsync')

// state saamine komponendist
this.$store.state.count

// getter saamine komponendist
this.$store.getters.doubleCount

Vuex pakub struktureeritud ja prognoositavat viisi oleku haldamiseks, eriti suurtes SPA-des, kehtestades "ühesuunalise andmevoo" mustri.