todo-app

Форк
0
/
use-delayed-key-on-resize.ts 
18 строк · 503.0 Байт
1
import { useState, useEffect } from 'react';
2
import { useResizeObserver, useDebouncedValue } from '@mantine/hooks';
3
import { nanoid } from 'nanoid';
4

5
/**
6
 * https://github.com/mantinedev/mantine/issues/3330
7
 */
8
export const useDelayedKeyOnResize = (delay = 0) => {
9
  const [key, setKey] = useState(nanoid());
10
  const [ref, rect] = useResizeObserver();
11
  const [debouncedRect] = useDebouncedValue(rect, delay);
12

13
  useEffect(() => {
14
    setKey(nanoid());
15
  }, [debouncedRect]);
16

17
  return { ref, key };
18
};
19

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.