usehooks-ts
Version:
React hook library, ready to use, written in Typescript.
24 lines • 790 B
JavaScript
import { useEffect, useState } from 'react';
function useMediaQuery(query) {
var getMatches = function (query) {
if (typeof window !== 'undefined') {
return window.matchMedia(query).matches;
}
return false;
};
var _a = useState(getMatches(query)), matches = _a[0], setMatches = _a[1];
function handleChange() {
setMatches(getMatches(query));
}
useEffect(function () {
var matchMedia = window.matchMedia(query);
handleChange();
matchMedia.addEventListener('change', handleChange);
return function () {
matchMedia.removeEventListener('change', handleChange);
};
}, [query]);
return matches;
}
export default useMediaQuery;
//# sourceMappingURL=useMediaQuery.js.map