useMediaQuery
Reactively respond to media queries in your app.
✅ Features
- Real-time screen size detection
- Use CSS-like query strings
- Super useful for responsive UIs
📦 Usage
1import { useMediaQuery } from './useMediaQuery'; 2 3const isMobile = useMediaQuery('(max-width: 768px)'); 4 5return <p>{isMobile ? "Mobile view" : "Desktop view"}</p>;
📋 Source Code
This is the full implementation of useMediaQuery
1import { useState, useEffect } from 'react';
2
3export function useMediaQuery(query: string): boolean {
4 const [matches, setMatches] = useState(false);
5
6 useEffect(() => {
7 const mediaQuery = window.matchMedia(query);
8 const handler = () => setMatches(mediaQuery.matches);
9 handler();
10 mediaQuery.addEventListener('change', handler);
11 return () => mediaQuery.removeEventListener('change', handler);
12 }, [query]);
13
14 return matches;
15}
16