UNPKG

@orca-fe/hooks

Version:

React Hooks Collections

42 lines (41 loc) 1.38 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _ahooks = require("ahooks"); function useGetState(initialState) { var _useState = (0, _react.useState)(function () { return { // @ts-expect-error state: typeof initialState === 'function' ? initialState() : initialState }; }), _useState2 = (0, _slicedToArray2.default)(_useState, 1), _this = _useState2[0]; var getState = (0, _ahooks.useMemoizedFn)(function () { return _this.state; }); var _useState3 = (0, _react.useState)(_this.state), _useState4 = (0, _slicedToArray2.default)(_useState3, 2), state = _useState4[0], _setState = _useState4[1]; var setState = (0, _ahooks.useMemoizedFn)(function (state) { if (typeof state === 'function') { _setState(function (originState) { // @ts-expect-error var newState = state(originState); _this.state = newState; return newState; }); } else { _this.state = state; _setState(state); } }); return [state, setState, getState]; } var _default = exports.default = useGetState;