状态对象的Vuex存储未定义

问题描述 投票:0回答:1

我正在项目中使用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;
javascript vue.js vuex store
1个回答
0
投票

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

Problem description

© www.soinside.com 2019 - 2024. All rights reserved.