Во многих проектах при использовании магазина Vuex вы создаете одинаковые похожие модули для нескольких ресурсов. Например, в вашем приложении есть модуль Vuex для управления пользователями, автомобилями, кошками и напитками. И эти модули, вероятно, имеют почти одинаковые маршруты API, поэтому вы меняете только имя маршрута в каждом модуле.

Используя универсальный повторно используемый модуль, вы предотвращаете повторное написание одного и того же кода:

В этом примере вы инициализируете модуль именем ресурса и некоторыми значениями по умолчанию для инициализации нового объекта. Для каждого модуля вы можете использовать состояние по умолчанию, геттеры, мутацию и действия из общего модуля или предоставить и добавить свою собственную реализацию.

Пример genericModule.js

Этот модуль предполагает, что у вас есть хранилище корневого уровня с мутацией setIsLoading и действием для setError.

Более подробную информацию о модулях Vuex можно найти здесь.