@orca-fe/hooks
Version:
React Hooks Collections
42 lines (41 loc) • 1.38 kB
JavaScript
;
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;