VueJS / nuxt 'state' должен быть методом, который возвращает объект в store / store.js - PullRequest
2 голосов
/ 25 сентября 2019

Я новичок в VueJS и запутался в предупреждении от nuxt:

'state' должен быть методом, который возвращает объект в store / store.js

Итак, мой store.js содержит следующее (да, я пробую учебник из документации):

import Vue from 'vue';
import Vuex from 'vuex';


Vue.use(Vuex);
export const store = new Vuex.Store({
  state() {
    return {
      todos: [
        { id: 1, text: '...', done: true },
        { id: 2, text: '...', done: false }
      ]
    };
  }
});

export default store;

Разве State не является методом, который возвращает объект?Или я неправильно понял сообщение?

update:

Я также попробовал следующее:

state: () => ({
    todos: [
      { id: 1, text: '...', done: true },
      { id: 2, text: '...', done: false }
    ]
}),

Но это выдаст мне то же предупреждение.

VueJS/nuxt 'state' should be a method that returns an object in store/store.js

1 Ответ

1 голос
/ 25 сентября 2019

Если вы используете Nuxt, они ожидают, что store/index.js создаст магазин, и его формат должен выглядеть следующим образом:

export const state = () => ({
  counter: 0
})

export const mutations = {
  increment (state) {
    state.counter++
  }
}

Когда вы создаете файл store/store.js, он будет рассматриваться какмодуль и может работать не так, как вы ожидаете.Я настоятельно рекомендую создать store/index.js и следовать документам с Nuxt .

...