MCPcopy Index your code
hub / github.com/nodejs/nodejs.org / useMediaQuery

Function useMediaQuery

apps/site/hooks/useMediaQuery.ts:5–29  ·  view source on GitHub ↗
(query: string)

Source from the content-addressed store, hash-verified

3import { useState, useEffect } from 'react';
4
5const useMediaQuery = (query: string) => {
6 const [matches, setMatches] = useState(() => {
7 if (typeof window === 'undefined') {
8 return false;
9 }
10
11 return window.matchMedia?.(query)?.matches ?? false;
12 });
13
14 useEffect(() => {
15 const mediaQueryList = window.matchMedia?.(query);
16
17 if (!mediaQueryList) {
18 return;
19 }
20
21 const handler = (event: MediaQueryListEvent) => setMatches(event.matches);
22
23 mediaQueryList.addEventListener('change', handler);
24
25 return () => mediaQueryList.removeEventListener('change', handler);
26 }, [query]);
27
28 return matches;
29};
30
31export default useMediaQuery;

Callers 3

WithMetaBarFunction · 0.85
WithBreadcrumbsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected