Для одинакового значения React уже использует сравнение Object.is, поэтому отдельная проверка перед setter обычно не нужна.
Нужно ли перед вызовом setDebouncedSearch сравнивать новое значение search с текущим debouncedSearch, или React уже предотвращает лишнее обновление?
Для одинакового значения React уже использует сравнение Object.is, поэтому отдельная проверка перед setter обычно не нужна.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для одинакового значения React уже использует сравнение Object.is, поэтому отдельная проверка перед setter обычно не нужна.
Если search и debouncedSearch — одна и та же строка, обновление может быть пропущено React. Это не отменяет необходимость очищать debounce-таймер и правильно задавать зависимости эффекта. Для объектов новая ссылка считается новым значением даже при одинаковых полях; глубокого сравнения React здесь не делает.