Sobes.tech
Middle

Milyen állapotkezelési koncepciót valósít meg a Vuex JavaScriptben?

sobes.tech MI

Válasz az MI-től

A Vuex egy központosított tárolót valósít meg minden Vue.js alkalmazás összetevő számára.

A Vuex fő fogalmai:

  • State: Az alkalmazás adataihoz tartozó egyetlen igazságforrás.
  • Getters: Az állapotból származó tulajdonságok, amelyek az adatok kiszámítására vagy szűrésére szolgálnak.
  • Mutations: Szinkron funkciók, amelyek módosítják az állapotot. Ezek az egyetlen módjai az állapot változtatásának.
  • Actions: Aszinkron műveletek, amelyek bármilyen logikát tartalmazhatnak, és meghívják a mutációkat.
  • Modules: Lehetővé teszik az állomány kisebb, önálló egységekre bontását.

Vuex példák:

// 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
    }
  }
})

// mutáció hívása komponensből
this.$store.commit('increment')

// akció hívása komponensből
this.$store.dispatch('incrementAsync')

// állapot elérése komponensből
this.$store.state.count

// getter elérése komponensből
this.$store.getters.doubleCount

A Vuex strukturált és előre látható módot kínál az állapot kezelésére, különösen nagy SPA-k esetén, az "egyenirányú adatfolyam" mintát követve.