Я работаю над некоторыми улучшениями нашего кода с точки зрения читабельности и производительности.
Мы используем компонент контейнера, который загружает все необходимые данные и передает их дочерним компонентам в качестве входных данных.В целом, это хорошая практика, но у меня есть некоторые проблемы в нашем конкретном случае: этот контейнерный компонент содержит все приложение, за исключением заголовка.Он содержит несколько дочерних компонентов, которые являются подконтейнерами, а также имеют несколько собственных дочерних компонентов.Это означает, что мы должны пропустить весь контекст через каждый компонент контейнера, пока он, наконец, не достигнет «настоящих» компонентов, и это огромная куча входов, которые нужно добавить в каждый родительский контейнер - мой любимый контейнер имеет 18 входов, которые он никогда не использует, иотправлять только своим дочерним элементам.
Я думаю, что это трудно читать, и вместо этого я мог бы использовать службу, к которой обращался бы верхний компонент для установки данных контекста, а затем соответствующие компоненты длячитать данные по необходимости.Я также обеспокоен выступлениями, использующими так много входов с некоторыми довольно большими объектами.
Я не смог найти какой-либо хорошей практики для определения наилучшего способа удержания контекста в Angular, особенно когда в нем многоданных.Я не знаю, есть ли другой способ, кроме использования сервисов или входов.
У меня есть два вопроса:
- Каков наилучший способ хранения данных контекста в приложении Angular?
- Может ли злоупотребление входами во многих компонентах быть проблемой с точки зрения производительности?