taro-hooks
Version:
为 Taro 而设计的 Hooks Library
32 lines (31 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
function useVisible() {
var _ref = (0, core_1.useState)(true),
visible = _ref[0],
changeVisible = _ref[1];
var listenVisible = function listenVisible() {
var visibleState = document.visibilityState;
changeVisible(visibleState === 'visible');
};
(0, core_1.useEffect)(function () {
window.addEventListener('visibilitychange', listenVisible, false);
window.addEventListener('focus', listenVisible, false);
window.addEventListener('blur', listenVisible, false);
return function () {
window.removeEventListener('visibilitychange', listenVisible, false);
window.removeEventListener('focus', listenVisible, false);
window.removeEventListener('blur', listenVisible, false);
};
}, []);
// unmount change false
(0, taro_1.useDidHide)(function () {
changeVisible(false);
});
return visible;
}
exports["default"] = useVisible;
;