UNPKG

ahooks

Version:
26 lines (25 loc) 969 B
"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 _useUnmountedRef = _interopRequireDefault(require("../useUnmountedRef")); function useSafeState(initialState) { var unmountedRef = (0, _useUnmountedRef["default"])(); var _useState = (0, _react.useState)(initialState), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), state = _useState2[0], setState = _useState2[1]; var setCurrentState = (0, _react.useCallback)(function (currentState) { /** if component is unmounted, stop update */ if (unmountedRef.current) { return; } setState(currentState); }, []); return [state, setCurrentState]; } var _default = exports["default"] = useSafeState;