UNPKG

@react-hookz/web

Version:

React hooks done right, for browser and SSR.

22 lines (21 loc) 703 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useSafeState = void 0; var react_1 = require("react"); var __1 = require(".."); /** * Like `useState` but its state setter is guarded against sets on unmounted component. */ function useSafeState(initialState) { var _a = (0, react_1.useState)(initialState), state = _a[0], setState = _a[1]; var isMounted = (0, __1.useIsMounted)(true); return [ state, (0, react_1.useCallback)(function (value) { if (isMounted()) setState(value); // eslint-disable-next-line react-hooks/exhaustive-deps }, []), ]; } exports.useSafeState = useSafeState;