Ещё паттернов по фронту перед НГ, я их придерживаюсь 🎅
Один из самых важных принципов работы с компонентами - это предпочтение явной передачи данных над неявной через глобальное состояние или контекст. Когда зависимости передаются явно, они становятся очевидными, код легче читать, тестировать и рефакторить. TypeScript может проверить корректность типов на этапе компиляции, а не в рантайме. Глобальное состояние и контекст используйте только в исключительных случаях - для глубоко вложенных компонентов или плагинов, где прокидывание данных через множество уровней становится реальной проблемой.
Еще один важный паттерн - экспорт интерфейсов для типобезопасной передачи данных между модулями. Экспортируйте типы из модуля-получателя, импортируйте их в модуле-отправителе и используйте satisfies для проверки соответствия типов. Это не только обеспечивает типобезопасность, но и делает рефакторинг кода безопасным - если вы измените интерфейс, TypeScript сразу покажет все места, где нужно обновить код. Такая практика экономит часы отладки и предотвращает ошибки в продакшене.
Интересный подход к работе с вычисляемыми значениями - избегайте дублирования логики доступа к данным. Если одна функция или геттер уже вычисляет значение, используйте его результат в других местах вместо повторного доступа к исходным данным. Это не только убирает дублирование, но и оптимизирует производительность - мемоизируйте результаты вычислений и пересчитывайте их только при изменении зависимостей. Когда видишь одинаковую логику в двух местах - всегда стоит подумать, можно ли переиспользовать результат.
И последнее - предпочтение optional properties с ? над union types с null | undefined. Это делает типы проще и понятнее, а проверки на существование значения становятся единообразными. Используйте ?? undefined для преобразования null в undefined там, где это необходимо. Никогда не используйте any - вместо этого применяйте type guards и явные проверки типов. Чем строже типизация, тем меньше ошибок в продакшене.
Давайте в комменты что-то от себя или дискутировать, мы в Сетке 💪🏻 #ui #паттерны
· 30.12.2025
as const + satisfies = полезнейшие комбо
ответить
коммент удалён
· 30.12.2025
👍🏻
ответить
ответ удалён