Я использую 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;