Skip to content

Instantly share code, notes, and snippets.

@smagch
Last active June 28, 2019 16:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smagch/899f3eec88b503045ada59734fbe8c6f to your computer and use it in GitHub Desktop.
Save smagch/899f3eec88b503045ada59734fbe8c6f to your computer and use it in GitHub Desktop.
react hooks: resize check
import { useState, useEffect } from 'react';
import { debounce } from 'lodash';
export const useResizeState = () => {
const [ resizing, setResizing ] = useState(false);
useEffect(() => {
const handleResizeEnd = debounce(() => {
setResizing(false);
}, 300);
function handleResize () {
setResizing(true);
handleResizeEnd();
}
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, [ ]);
return resizing;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment