Я строю небольшой СПА с 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)
}
}
})