Шаблон Vuex (Flux): какой тип данных должен храниться в нем? - PullRequest
0 голосов
/ 19 марта 2020

Я создаю приложение и впервые использую Vuex. Это приложение встроено в Vue. js и является достаточно сложным, чтобы требовать одноэлементный объект хранения, общий для всех компонентов. Vuex кажется хорошим решением, но я все еще не уверен, какие данные хранить в моем vue экземпляре / компонентах, а какие хранить в Vuex.

Согласно документации Vuex, он хранит «данные о состоянии». , По терминологии я предполагаю, что состояние - это просто данные, которые представляют текущее состояние самого приложения, например:

{
    isUserLoggedIn: true,
    isPaymentModalShowing: false,
    isLeftMenuOpen: true,
    ....
}

По сути, все, что может начинаться с глагола "is" (определение "состояния")

Это на самом деле не решит мою проблему, так как я использую одноэлементное хранилище для обеспечения доступа к данным для всех моих компонентов, имея данные, которые представляют не только «состояние» приложения, но и пользовательские данные, такие как as:

{
  userData:{
    email: "test@test.com",
    name: "John Doe",
    age: 28
 }
}

Так что мой вопрос довольно прост, хотя я не уверен, что есть прямой ответ: какой тип данных я должен хранить в объекте хранилища Vuex, и какой тип данных я должен сохранить компонент или объект приложения?

1 Ответ

0 голосов
/ 19 марта 2020

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

Кроме того, Vuex содержит не только состояние приложения, но и все соответствующие данные - вы можете иметь отдельные модули для пользовательского интерфейса и Пользователь и Автомобили. Как правило: если вы используете данные в нескольких местах - сохраните их в Vuex. Если данные используются в одном месте - вы можете обойтись без состояния в Vuex и жить с компонентом-состоянием.

Подробнее: https://markus.oberlehner.net/blog/should-i-store-this-data-in-vuex/

...