UNPKG

@u3u/vue-hooks

Version:
20 lines (19 loc) 592 B
import { ref, onMounted, onUnmounted } from '@vue/composition-api'; export default function useMedia(query, defaultState) { if (defaultState === void 0) { defaultState = false; } var mql; var matches = ref(defaultState); var updateMatches = function () { if (mql) matches.value = mql.matches; }; onMounted(function () { mql = window.matchMedia(query); mql.addListener(updateMatches); matches.value = mql.matches; }); onUnmounted(function () { mql.removeListener(updateMatches); }); return matches; }