| 123456789101112131415161718192021 |
- import { useEffect, useState } from "react";
- export const useMedia = (query: string) => {
- const [match, setMatch] = useState(window.matchMedia(query));
- useEffect(() => {
- const handleWindowResize = () => {
- setMatch(window.matchMedia(query));
- };
- window.addEventListener("resize", handleWindowResize);
- return () => window.removeEventListener("resize", handleWindowResize);
- }, []);
- useEffect(() => {
- setMatch(window.matchMedia(query));
- }, [query]);
- return match;
- };
|