Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import { useState, useEffect } from "react"; const useWindowFocus = () => { const [focused, setFocused] = useState(false); useEffect(() => { // First render setFocused(document.hasFocus()); const onFocus = () => setFocused(true); const onBlur = () => setFocused(false); window.addEventListener("focus", onFocus); window.addEventListener("blur", onBlur); return () => { window.removeEventListener("focus", onFocus); window.removeEventListener("blur", onBlur); }; }, []); return focused; }; export default useWindowFocus; |