Vue — лучше ли хранить все реквизиты в одном большом микшере

#vue.js

#vue.js

Вопрос:

У меня есть библиотека компонентов, в которой я хотел бы стандартизировать реквизит, компонент и т.д.

Мысли об объединении их реквизита / методов / других миксинов / etx в один более крупный миксин

  1. Все имена свойств будут одинаковыми
  2. Удалите дублированный код при рефакторинге, чтобы преобразовать компоненты из локальных реквизитов / методов / вычисляемых / в «глобальные»
  3. Не всем компонентам потребуется каждая часть данных, содержащихся в микшере — точка 4
  4. Удалит ли встряхивание дерева неиспользуемый код при свертке?
  5. Это хорошая идея?

Ответ №1:

Если ваша библиотека компонентов не ограничена использованием Vue 2, вы можете захотеть взглянуть на Vue Composition API для совместного использования функциональности (методы реактивное состояние) между различными компонентами.

Микшеры могут быть не тем, что вы действительно хотите использовать, потому что вы как бы теряете информацию о том, какие функции / реквизиты / методы действительно будут помещены в ваш компонент без повторной проверки mixin кода. Вы также можете столкнуться с проблемами, когда параметры компонентов объединяются Vue во время выполнения. Ознакомьтесь с этими сообщениями для получения дополнительной информации: https://css-tricks.com/how-the-vue-composition-api-replaces-vue-mixins/https://reactjs.org/blog/2016/07/13/mixins-considered-harmful.html

Что касается обмена props : то, что я видел только вчера (но еще не пробовал!) в выступлении Джона Лейдера — создателя Vuetify — создать функцию, которая возвращает реквизиты, которые вы хотите повторно использовать между компонентами. Затем вы просто вызываете указанную функцию внутри своего определения реквизита и используете оператор распространения.

Комментарии:

1. Привет, Филипп! Хороший подход к реквизиту! Спасибо, что поделились.