12345678910111213141516171819 |
- import { useEffect, useState } from "react";
- export function useMediaQuery(query: string) {
- const [value, setValue] = useState(false);
- useEffect(() => {
- function onChange(event: MediaQueryListEvent) {
- setValue(event.matches);
- }
- const result = matchMedia(query);
- result.addEventListener("change", onChange);
- setValue(result.matches);
- return () => result.removeEventListener("change", onChange);
- }, [query]);
- return value;
- }
|