Skip to content

Instantly share code, notes, and snippets.

@0632347878
Created December 11, 2022 09:16
Show Gist options
  • Save 0632347878/079e85fd361858c32762cf432590f8a0 to your computer and use it in GitHub Desktop.
Save 0632347878/079e85fd361858c32762cf432590f8a0 to your computer and use it in GitHub Desktop.
React custom hook
import { useState, useEffect } from 'react';
const useWindowSize = () => {
// IMPLEMENT
const [size, setSize] = useState({width: window.innerWidth, height: window.innerHeight});
useEffect(() => {
const eventResize = () => {
setSize({width: window.innerWidth, height: window.innerHeight});
}
window.addEventListener('resize', eventResize);
return window.removeEventListener('resize', eventResize);
});
return size;
}
// usage
const App = () => {
const size = useWindowSize();
return (
<div>
{size.width}px / {size.height}px
</div>
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment