From d64fcbf19bc35b252a8e7b29ef95fbeb820f5e16 Mon Sep 17 00:00:00 2001 From: Llewellyn D'souza Date: Fri, 7 Jan 2022 17:11:21 +0530 Subject: [PATCH] Added: useWindowDimension hook --- src/hooks/useWindowDimensions.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/hooks/useWindowDimensions.js diff --git a/src/hooks/useWindowDimensions.js b/src/hooks/useWindowDimensions.js new file mode 100644 index 0000000..6e2273a --- /dev/null +++ b/src/hooks/useWindowDimensions.js @@ -0,0 +1,25 @@ +import { useState, useEffect } from 'react'; + +function getWindowDimensions() { + const { innerWidth: width, innerHeight: height } = window; + return { + width, + height, + isMobileScreen: width <= 800, + }; +} + +export default function useWindowDimensions() { + const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions()); + + useEffect(() => { + function handleResize() { + setWindowDimensions(getWindowDimensions()); + } + + window.addEventListener('resize', handleResize); + return () => window.removeEventListener('resize', handleResize); + }, []); + + return windowDimensions; +}