Каковы компромиссы передачи импортированного объекта от родителя дочерним элементам в качестве реквизита по сравнению с импортом этого объекта в этих дочерних элементах? - PullRequest
1 голос
/ 25 сентября 2019

У меня есть вспомогательный объект TimeHelper (для вещей, связанных со временем).Мне нужно многое сделать с датами и временем из родительского компонента верхнего уровня и нескольких его дочерних компонентов.

Мне интересно, каковы будут компромиссы для импорта TimeHelper один раз в верхнемУровень родителя, а затем передать его в качестве реквизита для детей VS.импортировать TimeHelper в каждый компонент, который нуждается в этом?

Редактировать: чтобы ответить на вопросы Николаса ниже:

Будет ли когда-либо изменяться этот объект?Возможно, в будущем к нему будут добавлены дополнительные методы, но после импорта он не будет видоизменяться.

Получены ли какие-либо его свойства из состояния или свойств одного из ваших компонентов?Нет.Автономный объект с вспомогательными методами, работающими со временем и датами.

1 Ответ

1 голос
/ 25 сентября 2019

Это ответ, основанный на мнении, но по моему опыту, каждый раз, когда вы можете уменьшить сложность интерфейса (в данном случае реквизита компонента), вам лучше.

Шесть месяцевс этого момента, когда вам нужно создать экземпляр другого компонента виджета, вам не нужно будет задавать себе вопрос: «Что эта штука снова воспринимает как опору? Подождите, что за timeHelper? Где еще это используется ... ЯЯ просто скопирую это. "

Если компонент виджета импортировал помощника напрямую, то это на одну опору меньше, о чем вам нужно беспокоиться.

Это не так, если помощник компонента на самом деле должен быть настроен.Например, если timeHelper, была функция форматирования даты, и для разных экземпляров требовалось различное поведение.

Обратите внимание, что если в ваших шаблонах требуется помощник, вы можете создать фильтр .Например:

<span>date shared: {{ createdAt | formatDate }}</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...