Skip to content

Instantly share code, notes, and snippets.

@Cool-Runningz
Created July 17, 2022 04:18
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 Cool-Runningz/4a0dbdde766eb7274b0023e8af0c47e1 to your computer and use it in GitHub Desktop.
Save Cool-Runningz/4a0dbdde766eb7274b0023e8af0c47e1 to your computer and use it in GitHub Desktop.
React hook that determines when a media query has been met
import { useEffect, useState } from "react";
function useMediaQuery(mediaQuery: string): boolean {
const [isMediaMatch, setIsMediaMatch] = useState(window.matchMedia(mediaQuery).matches);
useEffect(() => {
const mediaQueryList = window.matchMedia(mediaQuery);
const mqlHandler = () => setIsMediaMatch(mediaQueryList.matches);
mediaQueryList.addEventListener("change", mqlHandler);
return () => {
mediaQueryList.removeEventListener("change", mqlHandler);
};
}, [mediaQuery]);
return isMediaMatch;
}
export default useMediaQuery;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment