Vuex остальные API, потребляющие для масштаба - PullRequest
0 голосов
/ 29 ноября 2018

Я создаю приложение, которое использует API.Я хотел бы иметь возможность создавать модуль сборки с префиксными действиями и мутациями, а также промежуточным программным обеспечением для асинхронных операций, чтобы я мог легко расширить приложение.

Я создал прототип, но похоже, что онэто черновик, и я не уверен, правильно ли он следует флюсовой схеме.Например, мои типы действий не UPPERCASE

const defaultState = {
  [LOADING]: false,
  [DATA]: null,
  [ERRORS]: null,
};

const makeModule = moduleActions => ({
  namespaced: true,
  state: { ...defaultState },
  mutations: {
    fetch(state) {
      state[LOADING] = true;
      state[ERRORS] = null;
    },
    setData(state, data) {
      state[LOADING] = false;
      state[DATA] = data;
      state[ERRORS] = null;
    },
    setErrors(state, errors) {
      state[LOADING] = false;
      state[ERRORS] = errors;
    },
  },
  actions: moduleActions,
});

export {
  makeModule,
};

После того, как я построю свой магазин, используя его:

const store = new Vuex.Store({
  modules: {
    [namespaces.cars]: makeModule({
      async getCars({ commit }) {
        commit('fetch');
      },
    }),
  },
});

Для реакции / редукции я использую reduxsauce , которыйотлично работает для меня.

Я устал искать что-то подобное для Vuex, но безуспешно.Можете ли вы порекомендовать несколько лучших практик или библиотеку, которая сделает это за вас?

Спасибо

...