Обнаружить и исправить баги в React‑компонентах
Сначала восстановите TSX, затем мемоизируйте fibonacci(number) и разделите часто меняющиеся данные контекста. React.memo не блокирует обновление потребителя изменившегося context.
Читать ответПодготовка к интервью
622 вопроса по React с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по React — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: frontend, react, browser.
Каталог
Сначала восстановите TSX, затем мемоизируйте fibonacci(number) и разделите часто меняющиеся данные контекста. React.memo не блокирует обновление потребителя изменившегося context.
Читать ответХраните массив пользователей и выбранного пользователя в state. Email сделайте кнопкой, а dialog открывайте через showModal после установки выбранных данных; адрес включайте вместе с вложенным geo.
Читать ответuseCallback с [] сохраняет первый btnClick, который замкнул count=0, поэтому каждый клик задаёт 1. Второй обработчик отдельно мутирует объект state и передаёт прежнюю ссылку.
Читать ответreverse мутирует state и возвращает ту же ссылку; key={index} привязывает состояние Item к позиции. Разворачивайте копию и используйте item.id, одновременно исправив JSX.
Читать ответХраните дату, ошибку, ширину и счётчик раздельно. Начальный серверный и клиентский render должны совпадать; window и загрузку подключайте после монтирования.
Читать ответДля увеличения используйте setCurrent(value => value + 1), чтобы не зависеть от захваченного current. Для лога последнего committed значения храните его отдельно в ref.
Читать ответДобавьте state счётчика, onClick для увеличения и onDoubleClick для сброса. Двойной клик сначала порождает обычные click-события, поэтому перед сбросом возможны краткие увеличения.
Читать ответВыделите компонент Greeting с пропом name и используйте его вместо фиксированного h1. Переданный текст становится частью JSX без ручной конкатенации HTML.
Читать ответХраните накопленное время и момент старта, а интервал используйте только для обновления отображения. Так секундомер не накапливает ошибку от задержек тиков и может продолжаться после Stop.
Читать ответИнтервал обновляет state раз в секунду, а ref хранит последнее committed значение для cleanup. logMetric тоже нужно исправить: второй аргумент fetch должен быть объектом настроек, не строкой.
Читать ответПри обычном первом клиентском монтировании без Strict Mode ожидается 1, 3, 4, 2: сначала render родителя и ребёнка, затем пассивные эффекты ребёнка и родителя.
Читать ответЭтот фрагмент не компилируется, поэтому корректной последовательности логов у него нет. Повреждены объявления компонентов, JSX, ref и имя useLayoutEffect; сначала нужно восстановить исполняемый пример.
Читать ответ