react-custom-hooks-utils
Version:
This library contains a collection of reusable React custom hooks to simplify state management, side effects, and user interactions.
17 lines (12 loc) • 455 B
JavaScript
import { useState, useEffect } from 'react';
function useMediaQuery(query) {
const [matches, setMatches] = useState(() => window.matchMedia(query).matches);
useEffect(() => {
const media = window.matchMedia(query);
const listener = (e) => setMatches(e.matches);
media.addEventListener('change', listener);
return () => media.removeEventListener('change', listener);
}, [query]);
return matches;
}
export default useMediaQuery;