beautiful-react-hooks
Version:
A collection of beautiful (and hopefully useful) React hooks to speed-up your components and hooks development
16 lines (15 loc) • 737 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var maybeState = function (state, defaultValue) { return (state !== null && state !== void 0 ? state : defaultValue); };
/**
* Returns a safe state by making sure the given value is not null or undefined
*/
var useDefaultedState = function (defaultValue, initialState) {
var _a = (0, react_1.useState)(maybeState(initialState, defaultValue)), state = _a[0], setState = _a[1];
var setStateSafe = (0, react_1.useCallback)(function (nextState) {
setState(maybeState(nextState, defaultValue));
}, [setState]);
return [maybeState(state, defaultValue), setStateSafe];
};
exports.default = useDefaultedState;