Хотя VueX предназначен для обеспечения единого источника правды для динамических данных в вашем одностраничном приложении, я думаю, что это также правильный и чистый способ хранения статических данных.VueX позволяет вам писать геттеры и сеттеры (как мутации / действия), теперь, если вы просто оставите эти сеттеры вне своего модуля, у вас будет централизованный модуль хранилища, который доступен только для чтения, но доступен в каждом компоненте.
Почему это лучше, чем просто использование статического файла JSON?
Использование файла JSON предоставит весь контент каждому компоненту, использующему этот файл.В некоторых случаях это может быть тем, что вам нужно, но это далеко не так гибко, как наличие нескольких геттеров, которые позволяют вам определить точную область действия каждого компонента.Кроме того, VueX использует все наблюдаемые шаблоны и лучшие практики от самого Vue, поэтому интеграция ваших данных, например, в вычисляемые свойства, очень проста.Благодаря шаблону геттеров вы также сможете определять любые виды фильтрации или сортировки в одном месте, которыми вы можете поделиться во всем приложении.Хотя это может и не быть тем, что вам нужно сейчас, имейте в виду, что ваши требования могут со временем меняться, и просто иметь возможность легко реализовать это позже - это тоже хорошо.То же самое относится к чтению данных из конечной точки вместо статического.Ваше приложение может не нуждаться в этом прямо сейчас, но в случае, если вы захотите сделать это когда-нибудь в будущем, vuex упростит переход к динамическим данным без необходимости изменения какого-либо компонента.
Что говорит против VueX?
Не так уж много.Несмотря на то, что если вы действительно используете его только для статических данных, это немного накладные расходы, возможная масштабируемость, которую он вам предлагает, стоит того незначительного недостатка.