UNPKG

cra-template-truemark

Version:

CRA Template with setups including, eslint, prettier, eslint, husky and reviewdog

27 lines (20 loc) 603 B
import { useState, useEffect } from "react"; function getDimensions() { if (typeof window !== "object") return {}; const { innerWidth: width, innerHeight: height } = window; return { width, height, }; } export function useWindowDimensions() { const [windowDimensions, setWindowDimensions] = useState(getDimensions()); useEffect(() => { function handleResize() { setWindowDimensions(getDimensions()); } window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); return windowDimensions; }