Repository URL to install this package:
|
Version:
0.0.0 ▾
|
import { useEffect, useState } from 'react';
const isClient = typeof window === 'object';
function getSize() {
return {
width: isClient ? window.innerWidth : undefined,
height: isClient ? window.innerHeight : undefined,
};
}
// https://usehooks.com/useWindowSize/
export const useWindowSize = () => {
const [windowSize, setWindowSize] = useState(getSize);
useEffect(() => {
function handleResize() {
setWindowSize(getSize());
}
if (isClient) {
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}
return undefined;
}, []);
return windowSize;
};