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));
  },

это ведет себя как ожидалось.

Большое спасибо

0 ответов

Другие вопросы по тегам