UNPKG

ht_hooks

Version:
35 lines (34 loc) 1.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _tslib = require("tslib"); var _react = require("react"); var _useEventListener = _interopRequireDefault(require("../useEventListener")); var _isBrowser = _interopRequireDefault(require("../utils/isBrowser")); var getVisibility = function getVisibility() { if (!_isBrowser["default"]) { return 'visible'; //如果不是浏览器环境(例如服务器端渲染),它会返回 'visible',确保在这种情况下不会出错 } return document.visibilityState; }; function useDocumentVisibility() { var _a = (0, _tslib.__read)((0, _react.useState)(function () { return getVisibility(); }), 2), documentVisibility = _a[0], setDocumentVisibility = _a[1]; (0, _useEventListener["default"])('visibilitychange', //在文档的可见性状态(document.visibilityState)发生变化时触发的 function () { setDocumentVisibility(getVisibility()); }, { target: function target() { return document; } }); return documentVisibility; } var _default = exports["default"] = useDocumentVisibility;