useClickOutside
Вызывает callback при клике или касании вне переданных элементов.
Вызывает callback при клике или касании вне переданных элементов.
Использование
'use client';
import { useRef, useState } from 'react';
import { useClickOutside } from '@prosazhin/pbcomponents';
function Example() {
const [open, setOpen] = useState(true);
const ref = useRef<HTMLDivElement>(null);
useClickOutside({ refs: [ref], callback: () => setOpen(false) });
return open ? <div ref={ref}>Menu</div> : null;
}API хука
Параметры
| Параметр | Тип / варианты | Назначение | По умолчанию |
|---|---|---|---|
refs | RefObject<T | null>[] | Элементы, внутри которых нажатие не вызывает callback. | — |
callback | (event?: MouseEvent | TouchEvent) => void | Вызывается при нажатии вне всех переданных элементов. | — |
Возвращает
| Значение | Тип / варианты | Назначение |
|---|---|---|
result | void | Ничего не возвращает. |