1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

import { useLayoutEffect, useState } from 'react';

const useWindowSize = (): [number, number] => {
    const [size, setSize] = useState<[number, number]>([0, 0]);
    useLayoutEffect(() => {
        const updateSize = () => {
            setSize([window.innerWidth, window.innerHeight]);
        };
        window.addEventListener('resize', updateSize);
        updateSize();
        return () => window.removeEventListener('resize', updateSize);
    }, []);
    return size;
};
export default useWindowSize