Несколько вызовов API отфильтрованных Vuex - PullRequest
0 голосов
/ 12 мая 2019

Я хочу выполнить несколько вызовов 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 действительно хорошей идеей?

Заранее спасибо

...