UNPKG

@modern-kit/react

Version:
25 lines (21 loc) 587 B
'use strict'; 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