Какое именование вы используете, чтобы избежать "заикания" в модулях Vuex? - PullRequest
2 голосов
/ 05 мая 2020

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

Например, предположим, что модуль обрабатывает пользователей. Я называю файл модуля user.js

export default {
  state: {
    users: []
  },
  // mutations and actions for reading, creating, updating users...
}

Затем в моем магазине index.js

import user from 'user';

export default new Vuex.Store({
  modules: {
    user
  }
});

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

this.$store.user.users

Если бы я не использовал модуль для списка пользователей, у меня был бы просто this.$store.users, что гораздо удобнее и элегантнее.

Любая идея для наименования соглашение или шаблон проектирования, которые позволили бы избежать этого заикания?

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать mapState.

import { mapState } from 'vuex'


export default {
  // ...
  computed: mapState({
    users: state => state.user.users
  })
  // ...
}

Затем вы можете использовать this.users как псевдоним this.$store.user.users

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...