struct-ui-components
Version:
A collection of reusable, customizable React components built with TypeScript, Tailwind CSS, and Storybook. Designed for modern UI development with flexibility and scalability.
27 lines (19 loc) • 576 B
text/typescript
import { useEffect, useState } from "react";
export const useMediaQuery = (mediaQuery: string): boolean => {
const [isMatch, setIsMatch] = useState<boolean>(false);
useEffect(() => {
const list = window.matchMedia(mediaQuery);
const handleChange = (e: MediaQueryListEvent) => {
setIsMatch(e.matches);
};
// Set initial state
setIsMatch(list.matches);
// Add listener
list.addListener(handleChange);
// Cleanup listener
return () => {
list.removeListener(handleChange);
};
}, [mediaQuery]);
return isMatch;
};