Vuex вовзращает одинаковые state по-разному
Проблема в том, что с 2-мя store с абсолютно одинаковым кодом(изменены только названия) Vuex возвращает данные по-разному. В первом случае(Category) он возвращает массив с 0 элементами, а во втором (Channels) возвращает пустой объект. Actions выполняются последовательно в одном методе
CategoriesStore.js
state: {
categories: {},
category: {}
},
getters: {
categories: (state) => {
return state.categories;
}
},
mutations: {
setCategories(state, categories) {
Vue.set(state, 'categories', categories)
}
},
actions: {
getCategories(context) {
return new Promise((resolve, reject) => {
axios.get('/api/category')
.then((response) => {
context.commit('setCategories', response.data.data);
resolve();
})
.catch((response) => reject(response));
});
}
}
ChannelsStore.js
store: {
channels: [],
channel: {}
},
getters: {
channels: (state) => {
return state.channels;
},
},
mutations: {
setChannels: (state, channels) => {
Vue.set(state, 'channels', channels);
},
},
actions: {
getChannels: (context) => {
return new Promise((resolve, reject) => {
axios.get('/api/channels')
.then((response) => {
context.commit('setChannels', response.data.data);
resolve();
})
.catch((response) => {
reject(response);
})
});
},
},
Vue Devtools
