UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

47 lines (44 loc) 1.36 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _reducer = _interopRequireWildcard(require("./reducer")); var _fns = _interopRequireDefault(require("../fns")); var _Wrapper = _interopRequireDefault(require("./Wrapper")); const Root = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => { const bodyRef = (0, _react.useRef)(null); const initialState = (0, _react.useMemo)(() => (0, _reducer.initialState)(props), []); const [state, dispatch] = (0, _react.useReducer)(_reducer.default, initialState); // 获取核心Methods const { CoreMethods, RefMethods } = (0, _fns.default)({ state, dispatch, props, bodyRef }); const instance = { ...props, ...CoreMethods, ...RefMethods, bodyRef, state, dispatch }; // 向外暴露出的方法 (0, _react.useImperativeHandle)(ref, () => ({ ...RefMethods, getState: () => state })); return /*#__PURE__*/_react.default.createElement(_Wrapper.default, { instance: instance }); }); var _default = Root; exports.default = _default;