hooks-me
Version:
<div align="center"> <h1>hooks-me</h1> <div>React useful hooks.</div>
14 lines (13 loc) • 589 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
var useValidatedState = function (initialValue, validator) {
var _a = (0, react_1.useState)(initialValue), value = _a[0], setValue = _a[1];
var _b = (0, react_1.useState)(validator(initialValue)), isValid = _b[0], setIsValid = _b[1];
var handleOnChange = (0, react_1.useCallback)(function (newValue) {
setValue(newValue);
setIsValid(validator(newValue));
}, []);
return [value, handleOnChange, isValid];
};
exports.default = useValidatedState;