useMobile.js 1004 B

1234567891011121314151617181920212223242526
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  8. var _react = require("react");
  9. var _isMobile = _interopRequireDefault(require("../isMobile"));
  10. var _useLayoutEffect = _interopRequireDefault(require("./useLayoutEffect"));
  11. /**
  12. * Hook to detect if the user is on a mobile device
  13. * Notice that this hook will only detect the device type in effect, so it will always be false in server side
  14. */
  15. var useMobile = function useMobile() {
  16. var _useState = (0, _react.useState)(false),
  17. _useState2 = (0, _slicedToArray2.default)(_useState, 2),
  18. mobile = _useState2[0],
  19. setMobile = _useState2[1];
  20. (0, _useLayoutEffect.default)(function () {
  21. setMobile((0, _isMobile.default)());
  22. }, []);
  23. return mobile;
  24. };
  25. var _default = exports.default = useMobile;