react-use-media-query-ts
Version:
React custom hook for match Media queries with Typescript support
34 lines (30 loc) • 909 B
JavaScript
var react = require('react');
var matchMedia = function (query) {
return typeof window !== 'undefined' && window.matchMedia(query);
};
function useMediaQuery(query) {
var _a = react.useState(function () {
var mql = matchMedia(query);
if (!mql) {
return false;
}
return mql.matches;
}), matches = _a[0], setMatches = _a[1];
react.useEffect(function () {
var mediaQueryList = matchMedia(query);
var handleChange = function (e) {
setMatches(e.matches);
};
if (!mediaQueryList) {
return;
}
mediaQueryList.addEventListener('change', handleChange);
return function () {
mediaQueryList.removeEventListener('change', handleChange);
};
}, [query]);
return matches;
}
module.exports = useMediaQuery;
//# sourceMappingURL=index.js.map
;