@nikitababko/react-custom-hooks
Version:
Custom react hooks
25 lines (20 loc) • 495 B
JavaScript
import { useState } from 'react';
import useValidation from './useValidation';
export default function useInput(initialValue, validations) {
const [value, setValue] = useState(initialValue);
const [isDirty, setIsDirty] = useState(false);
const valid = useValidation(value, validations);
const onChange = (e) => {
setValue(e.target.value);
};
const onBlur = (e) => {
setIsDirty(true);
};
return {
value,
onChange,
onBlur,
isDirty,
...valid,
};
}