首页 > 解决方案 > 状态对象未定义 Vuex 存储

问题描述

我在我的项目中使用 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;

标签: javascriptvue.jsvuexstore

解决方案


沙盒会告诉您代码有什么问题。您在定义之前使用“商店”。我不确定您的实体结构,但我会更改您的代码,以便在您添加消息时选择随机成员。成员在开始时也是空的,所以无论如何它都会选择 null 。

问题描述


推荐阅读