UNPKG

ahooks

Version:
31 lines (30 loc) • 1.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); var _useCreation = _interopRequireDefault(require("../useCreation")); var _useMemoizedFn = _interopRequireDefault(require("../useMemoizedFn")); var _utils = require("../utils"); var useResetState = function useResetState(initialState) { var initialStateRef = (0, _react.useRef)(initialState); var initialStateMemo = (0, _useCreation["default"])(function () { return (0, _utils.isFunction)(initialStateRef.current) ? initialStateRef.current() : initialStateRef.current; }, []); var _useState = (0, _react.useState)(function () { return initialStateMemo; }), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), state = _useState2[0], setState = _useState2[1]; var resetState = (0, _useMemoizedFn["default"])(function () { setState(function () { return initialStateMemo; }); }); return [state, setState, resetState]; }; var _default = exports["default"] = useResetState;