Вернуться в видеотекуКоротко о видео
Это публичная запись фронтенд-собеседования: кандидат Антон рассказывает о своём опыте с React и о развитии в сторону backend-разработки. Он описывает собственный конфигурируемый Form Builder, затем решает задачи на контролируемые формы и хук определения первого рендера. Во второй половине участники проводят code review React/TypeScript-кода, обсуждают обновления состояния, таймеры, декомпозицию UI и архитектуру системы модальных окон.
Затронутые темы
Что взять на заметку
- Уметь объяснить конфигурируемую форму: структуру конфига, значения по умолчанию, валидацию, зависимые поля, callback для изменений и получение конфигурации с сервера.
- Подготовить различия контролируемых и неконтролируемых input’ов, назначение ref, а также target и currentTarget в DOM-событиях.
- Для хука первого рендера важно сформулировать контракт: на первом рендере возвращается true, на всех последующих — false; для сохранения значения между рендерами обсуждается useRef.
- На code review могут попросить типизировать обёртку над HTMLButtonElement, выбрать способ описания вариантов компонента и объяснить различия между type и interface.
- Нужно уметь находить проблемы с обновлением состояния: при зависимом от прошлого значения обновлении использовать functional updater, а у таймеров предусматривать очистку.
- Кандидат предлагает отделять бизнес-логику от UI, нормализовать данные пользователей для доступа по id и не раскрывать низкоуровневые setter’ы через публичный API.
- Для модальных окон обсуждается общий контекст с операциями открытия и закрытия, базовый компонент со слотами header/body/footer и отдельные решения для модалок с локальным состоянием.