Я хочу выполнить несколько вызовов API с помощью vuex на странице.
Эти вызовы используют ту же конечную точку, но используют параметр API для фильтрации результата.
Цель состоит в том, чтобы отобразить города и страны в 2 разных списках.
const GET_DESTINATIONS = createAsyncMutation('GET_DESTINATIONS');
const mutations = {
[GET_DESTINATIONS.SUCCESS](state, info) {
state[GET_DESTINATIONS.loadingKey] = false;
state.list = info;
},
[GET_DESTINATIONS.PENDING](state) {
Vue.set(state, GET_DESTINATIONS.loadingKey, true);
},
};
const actions = {
getDestinations({ commit }, { type = 'COUNTRY' }) {
doAsync(this.$axios.get, commit, {
url: `/v1/destinations/?area_type=${type}`,
mutationTypes: GET_DESTINATIONS,
});
},
};
const state = () => ({
list: [],
});
Проблема в том, что если я выполню два вызова API с другим фильтром, результат будет сохранен в одной переменной хранилища ...
Как справиться с этим делом, не дублируя логику?
Является ли управление вызовами API с помощью vuex действительно хорошей идеей?
Заранее спасибо