common hooks
``bash`
yarn add @alfalab/hooks
`jsx`
import { usePrevious } from '@alfalab/hooks';
Подписка на событие mousedown, touchstart. При нажатии вне элемента вызывает переданный callback
Хук обратного отсчёта времени. Возвращает оставшееся количество секунд до определённой даты.
Вызывает коллбэк при изменении значений, переданных в зависимостях.
В отличии от useEffect — пропускает начальный рендер (аналог ComponentDidUpdate).
Хук для измерения DOM-элемента, в том числе в live-режиме
https://github.com/facebook/react/issues/14099#issuecomment-440013892
Подписка на событие focusin, focusout для конкретного события фокуса (клавиатура/мышка).
Возвращает true/false о состоянии фокуса на элементе или на одном из его дочерних элементов
Возвращает результат загрузки изображения — loading | loaded | error
Подписка на событие keydown. При нажатии вне элемента вызывает переданный callback
Возвращает значение, которое соответствует сработавшему медиа-выражению
``
const [columns] = useMedia([
[1, '(min-width: 400px)'],
[2, '(min-width: 600px)'],
[3, '(min-width: 900px)'],
], 1);
Возвращает предыдущее состояние из useState
`jsx``
function Counter() {
const [count, setCount] = useState(0);
const prevCount = usePrevious(count);
return (
Сейчас: {count}, до этого: {prevCount}
);
}
Возвращает коллбек для принудительного ререндера компонента
Возвращает статус доступности компонента
Возвращает уникальный идентификатор