rc-hooks
Version:
React Hooks Library.
18 lines (17 loc) • 591 B
JavaScript
import { __read } from "tslib";
import { useState, useCallback } from 'react';
import useUnmountedRef from '../useUnmountedRef';
function useSafeState(initialState) {
var unmountedRef = useUnmountedRef();
var _a = __read(useState(initialState), 2), state = _a[0], setState = _a[1];
var setCurrentState = useCallback(function (nextState) {
if (unmountedRef.current) {
return;
}
setState(nextState);
},
// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
return [state, setCurrentState];
}
export default useSafeState;