Магазин Vuex не определен для объекта состояния - PullRequest
0 голосов
/ 09 марта 2020

Я использую vuex в своем проекте, и в моем объекте состояния я хочу достичь другого объекта состояния. Чтобы сделать это, я создал геттеры в своем магазине, но я получаю ошибку «магазин не определен». Вот мой магазин:

https://codesandbox.io/s/peaceful-gould-bvq2b вот песочница.

const store = new Vuex.Store({
  state: {
    members: [],
    member: {},
    messages: [
      {
        id: Math.floor(Math.random() * 10000),
        owner: store.getters.getRandomMember,
        content: "Hello this is a test message",
        date: "06.03.2020 12:20"
      },
      {
        id: Math.floor(Math.random() * 10000),
        owner: store.getters.getRandomMember,
        content: "Hello this is the second message",
        createdDate: "06.03.2020 12:20"
      },
      {
        id: Math.floor(Math.random() * 10000),
        owner: store.getters.getRandomMember,
        content: "Hello this is the third message",
        createdDate: "06.03.2020 12:40"
      }
    ]
  },
  mutations: {
    SET_MEMBERS(state, membersData) {
      state.members = membersData;
    }
  },
  actions: {
    getMembers() {
      axios
        .get("https://api.github.com/orgs/github/public_members")
        .then(membersResult => {
          this.commit("SET_MEMBERS", membersResult.data);
        });
    }
  },
  getters: {
    getRandomMember: state => {
      return state.members[Math.floor(Math.random() * 30)];
    }
  },
  modules: {}
});

export default store;

1 Ответ

0 голосов
/ 09 марта 2020

Песочница говорит вам, что не так с вашим кодом. Вы используете «магазин», прежде чем он был определен. Я не уверен в вашей структуре сущностей, но я бы изменил ваш код, чтобы он что-то вроде выбора случайного члена при добавлении сообщения. Члены также пустые в начале, так что в любом случае просто выбрал бы ноль.

Problem description

...