@modern-kit/react
Version:
30 lines (27 loc) • 814 B
JavaScript
import { useState, useCallback } from 'react';
import { isString } from '@modern-kit/utils';
function useInputState(initialValue) {
const [value, setValue] = useState(initialValue);
const onChange = useCallback((e) => {
if (!e.target) {
throw new Error("\uC774\uBCA4\uD2B8 \uD0C0\uAC9F \uC694\uC18C\uAC00 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4");
}
const { name, value: value2 } = e.target;
setValue((prev) => {
if (isString(prev)) {
return value2;
}
if (!name) return prev;
return {
...prev,
[name]: value2
};
});
}, []);
const reset = useCallback(() => {
setValue(initialValue);
}, [initialValue]);
return { value, onChange, reset };
}
export { useInputState };
//# sourceMappingURL=index.mjs.map