@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
30 lines (29 loc) • 1.08 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _taro = require("@tarojs/taro");
var _react = require("@tarojs/react");
var _react2 = require("react");
var RootPortal = function RootPortal(_ref) {
var children = _ref.children,
_ref$enable = _ref.enable,
enable = _ref$enable === void 0 ? false : _ref$enable;
var router = (0, _taro.useRouter)();
var _useState = (0, _react2.useState)(),
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
dom = _useState2[0],
setDom = _useState2[1];
(0, _react2.useLayoutEffect)(function () {
// @ts-ignore
var _dom = document.getElementById(router.$taroPath);
_dom && setDom(_dom);
// @ts-ignore
}, [router.$taroPath]);
return enable && dom ? (0, _react.createPortal)(children, dom) : children;
};
var _default = RootPortal;
exports.default = _default;
;