UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

40 lines (37 loc) 1.38 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; // 根文件 => 参数聚合 import React, { forwardRef, useImperativeHandle, useMemo, useReducer } from 'react'; import useCoreOptions from "../fns"; import reducer, { initialState as initReducerState } from "./reducer"; import Wrapper from "./Wrapper"; var LmFilterRoot = function LmFilterRoot(props, ref) { var initialState = useMemo(function () { return initReducerState(); }, []); var _useReducer = useReducer(reducer, initialState), _useReducer2 = _slicedToArray(_useReducer, 2), state = _useReducer2[0], dispatch = _useReducer2[1]; // 获取核心Methods var _useCoreOptions = useCoreOptions({ state: state, dispatch: dispatch, props: props }), CoreMethods = _useCoreOptions.CoreMethods, RefMethods = _useCoreOptions.RefMethods; // 组件实例 var instance = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), CoreMethods), RefMethods), {}, { state: state, dispatch: dispatch }); // 向外暴露出的方法 useImperativeHandle(ref, function () { return _objectSpread({}, RefMethods); }); return /*#__PURE__*/React.createElement(Wrapper, { instance: instance }); }; export default /*#__PURE__*/forwardRef(LmFilterRoot);