Почему контекстный объект Vuex называется хранилищем? - PullRequest
0 голосов
/ 21 октября 2019

Я строю небольшой СПА с Vuex и Firebase. Я пытаюсь настроить метод действия Vuex для извлечения введенных данных из Firebase, а затем зафиксировать полученные данные в мутации. Я не полностью понимаю использование объекта контекста в методе действия. Один учебник, который я нашел, говорит, что действия Vuex ожидают хранилище в качестве обязательного аргумента, за которым следуют необязательные аргументы. Я понимаю, что context - это магазин, упомянутый в этом объяснении, но я не понимаю, почему он упоминается как магазин . Почему действия Vuex ожидают хранилище в качестве обязательного аргумента, и почему этот аргумент называется хранилищем? Вот мой файл store.js:

import Vue from 'vue'
import Vuex from 'vuex'
import { db } from '@/main'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    events: []
  },
  mutations: {
    setEvents: (state, events) => {
      state.events = events
    }
  },
  actions: {
    setEvents: async context => {
      let snapshot = await db.collection('events').get()
      const events = []
      snapshot.forEach(doc => {
        let appData = doc.data()
        appData.id = doc.id
        events.push(appData)
      })
      context.commit('setEvents', events)
    }
  }
})

...