@modern-kit/react
Version:
25 lines (21 loc) • 587 B
JavaScript
;
var React = require('react');
function useControllableState({
value,
defaultValue
}) {
const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue);
const isControlled = value !== void 0;
const currentValue = isControlled ? value : uncontrolledValue;
const setValue = React.useCallback(
(nextValue) => {
if (!isControlled) {
setUncontrolledValue(nextValue);
}
},
[isControlled]
);
return [currentValue, setValue];
}
exports.useControllableState = useControllableState;
//# sourceMappingURL=index.cjs.map