mock.js 849 B

12345678910111213141516171819202122232425
  1. import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
  2. import * as React from 'react';
  3. import { generateTrigger } from "./index";
  4. var MockPortal = function MockPortal(_ref) {
  5. var open = _ref.open,
  6. autoDestroy = _ref.autoDestroy,
  7. children = _ref.children,
  8. getContainer = _ref.getContainer;
  9. var _React$useState = React.useState(open),
  10. _React$useState2 = _slicedToArray(_React$useState, 2),
  11. visible = _React$useState2[0],
  12. setVisible = _React$useState2[1];
  13. React.useEffect(function () {
  14. getContainer === null || getContainer === void 0 || getContainer();
  15. });
  16. React.useEffect(function () {
  17. if (open) {
  18. setVisible(true);
  19. } else if (autoDestroy) {
  20. setVisible(false);
  21. }
  22. }, [open, autoDestroy]);
  23. return visible ? children : null;
  24. };
  25. export default generateTrigger(MockPortal);