Веб-страница | frontend, backend, fullstack, react, vue, javascript, typescript, css, html
IT и технологии · 19 августа 2026 г.
React не следит за фокусом — useFocus из @reactuses/core делает это за него — 19 августа 2026 г. в 11:49:56.056
React не следит за фокусом — useFocus из @reactuses/core делает это за него В React нет состояния, которое говорит, активно ли сейчас поле ввода. document.activeElement показывает ответ, но не перерендеривает компонент при смене фокуса, а autoFocus стреляет один раз и не даёт вернуть фокус программно. Приходится вешать onFocus и onBlur вручную. Хук useFocus из @reactuses/core сворачивает это в [isFocused, setFocused]: первая часть отражает реальное состояние элемента, вторая вызывает focus() или blur() по вашей логике. Например, при программном фокусе на поиске. Для подсветки рамки хватит CSS :focus, но как только фокус начинает управлять JSX через подсказки, плавающие лейблы или паузу тикера, хук убирает шаблонный код. Я бы сохранил его для форм и модалок, где фокус важен для UX, а не только для стилей. Разобрали в статье.

