UNPKG

@orca-fe/hooks

Version:

React Hooks Collections

31 lines 1 kB
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { useState } from 'react'; import { useMemoizedFn } from 'ahooks'; function useGetState(initialState) { var _useState = useState(() => ({ // @ts-expect-error state: typeof initialState === 'function' ? initialState() : initialState })), _useState2 = _slicedToArray(_useState, 1), _this = _useState2[0]; var getState = useMemoizedFn(() => _this.state); var _useState3 = useState(_this.state), _useState4 = _slicedToArray(_useState3, 2), state = _useState4[0], _setState = _useState4[1]; var setState = useMemoizedFn(state => { if (typeof state === 'function') { _setState(originState => { // @ts-expect-error var newState = state(originState); _this.state = newState; return newState; }); } else { _this.state = state; _setState(state); } }); return [state, setState, getState]; } export default useGetState;