/
zxclovly
/
BlinkCode
Обзор
Документация
Войти
/
zxclovly
/
BlinkCode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/hooks/useResizable.ts
25 строк
937 B
lovlygod
Initial commit
18 апр 2026, 00:32
18 апр 2026, 00:32
dce516c
Код
Авторство
О чём код?
import { useEffect } from 'react'; export function useResizable( resizerRef: React.RefObject<HTMLElement | null>, onResize: (e: MouseEvent) => void, direction: 'row' | 'col' = 'row' ) { useEffect(() => { const up = () => { document.removeEventListener('mousemove', handleMove); document.removeEventListener('mouseup', up); document.body.style.cursor = ''; document.body.style.userSelect = ''; }; const handleMove = (e: MouseEvent) => onResize(e); const down = () => { document.addEventListener('mousemove', handleMove); document.addEventListener('mouseup', up); document.body.style.cursor = direction === 'row' ? 'row-resize' : 'col-resize'; document.body.style.userSelect = 'none'; }; resizerRef.current?.addEventListener('mousedown', down); return () => { resizerRef.current?.removeEventListener('mousedown', down); }; }, [onResize, direction]); }