todos не определена ошибка в моей мутации в магазине vuex
Надеясь, что вы можете помочь
Я делаю сообщение axios на серверную часть Firebase с помощью действия модуля vuex, но когда я пытаюсь отправить свои результаты для синхронизации хранилища, я получаю следующую ошибку
todos is not defined
Я проверил все правильно, зная, что моя задача содержит объект, который я хочу добавить в массив в моей мутации, но не знаю, почему задачи будут неопределенными?
У меня в магазине есть
import axios from "axios";
// *** STATE ***
export const state = () => ({
todos: []
})
// *** MUTATIONS ***
export const mutations = {
// add new todo to todos array
add(state, todo ) {
state.todos.push({todo})
// this is where my error is todos is not defined
},
export const actions = {
addPost(context, todo) {
const createdPost = {
...todo
}
axios.post("http", createdPost)
.then(result => {
context.commit('add', {...createdPost, id: result.data.name})
console.log(createdPost) // this returns the object I expect to get from firebase with the added ID
})
.catch(e => console.log(e));
},
}
export const getters = {
todos(state) {
return state.todos
}
}
Я должен добавить, что я преобразую свой объект axios в массив, когда я первоначально получаю данные с помощью следующего действия
loadData ({ commit, context }) {
return axios.get('http')
.then(res => {
const converttodo = []
for (const key in res.data) {
converttodo.push({ ...res.data[key], id: key })
}
// console.log(converttodos)
commit('setTodos', converttodo)
})
//.catch(e => context.error(e));
},
это ведет себя как ожидалось.
Большое спасибо