Должен ли я использовать геттеры Vuex, даже если нет вычислений? - PullRequest
0 голосов
/ 25 апреля 2018

Если я просто хочу вернуть член моего состояния vuex, я должен определить для него геттер?или это нормально, чтобы использовать mapState?
Моя дилемма выглядит следующим образом:
1) Кажется избыточным иметь геттер, который просто возвращает член состояния, как в:

 getters: {
   user (state) {
   return state.user
   }
 }

, когдаЯ могу просто использовать следующий код в компоненте потребления и сохранить код геттера?

computed: {
        ...mapState('auth',['user']),
}

Однако, если что-то изменится в будущем, и я бы хотел, чтобы некоторые вычисления были выполнены для пользовательского объекта до его возвращения, то с помощью метода получения и

computed: {
        ...mapGetters('auth',['user']),
}

учитывал быболее простое изменение.Но если это рекомендуемый путь, тогда зачем начинать с mapState?

Так должен ли я использовать геттеры для этого простого доступа к элементу состояния?или нет?

1 Ответ

0 голосов
/ 26 апреля 2018

Технически, как вы заметили, вы можете сделать так или иначе. Однако, когда не требуется никаких расчетов, это становится делом вкуса.

В этом нет никаких полномочий, но я бы порекомендовал в качестве общего совета:

Если ваша заявка ...

  • имеет стабильный государственный формат И
  • ваше состояние, которое не склонно меняться И
  • ваше приложение не такое большое,

... затем сопоставьте с состоянием.

Остальное, используйте добытчики.

Другими словами, если ваше приложение несколько маленькое и должно быть стабильным, то почему бы и нет?

В противном случае, кроме очевидного «использовать геттеры, когда вам нужны вычисления», если ваше приложение:

  • имеет тенденцию расти ИЛИ
  • имеет структуру состояния, которая не установлена ​​и имеет тенденцию к изменению ИЛИ
  • имеет глубоко вложенное состояние.

Тогда использовать геттеры . Они отделяют ваше приложение от состояния, позволяя ему более свободно меняться (что часто необходимо "в трудные времена"), значительно упростив рефакторинг.

Другими словами,

в случае сомнений используйте геттеры вместо непосредственного сопоставления с состоянием.


Примечание: IMO, этот вопрос такой же, как использование селекторов в Redux. А в Redux широко рекомендуется использовать селекторы.

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