Проведение ревью и отладка React‑компонентов
Сделайте checkbox управляемым, обновляйте состояние функционально и используйте отдельный идентификатор для каждой группы. Очистка dblclick уже реализована верно.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Сделайте checkbox управляемым, обновляйте состояние функционально и используйте отдельный идентификатор для каждой группы. Очистка dblclick уже реализована верно.
Читать ответХраните поиск и страницу в состоянии, загружайте данные с отменой устаревшего запроса. Сортируйте полученную страницу, а подробности показывайте в диалоге.
Читать ответДостаточно изменить служебный state на новое значение: const forceUpdate = () => trigger(value => value + 1). Это запланирует рендер без изменения бизнес-данных.
Читать ответХраните поля как записи с ID и value: устойчивый ID сохраняет идентичность после удаления. Удаление последней строки запрещайте отдельно.
Читать ответПри исходном ['a','b'] после клика отображение станет ['b','a']. Но reverse сначала мутирует исходный state, и только затем spread создаёт новый массив.
Читать ответХраните текущий набор, скрытую цель и счёт. Успех добавляет 20 баллов и создаёт новый раунд, ошибка обнуляет счёт без перезагрузки.
Читать ответЗапрашивайте подсказки с небольшой задержкой после ввода, отменяйте предыдущий запрос и показывайте результаты через доступный список вариантов.
Читать ответБез Strict Mode первый commit печатает App, useLayoutEffect, useEffect 1, useEffect 2. Эффект с инкрементом затем вызывает ещё один рендер и перезапуск зависимых эффектов.
Читать ответНужно выводить currentTime и очищать интервал в эффекте. Key={id} уже корректен; сортировки в примере нет, порядок соответствует исходному массиву.
Читать ответИсправьте импорт хуков и JSX, переключайте started на противоположное значение, а жизненным циклом интервала управляйте одним эффектом с очисткой.
Читать ответОберните Child в React.memo и стабилизируйте onInputChange через useCallback. Тогда обновление text не меняет props дочернего компонента.
Читать ответДа: изменение value обновляет Parent, а немемоизированный Child обычно рендерится вместе с ним. Кроме того, handleChange получает новую ссылку при каждом рендере.
Читать ответ