Skip to content

Instantly share code, notes, and snippets.

@NavizDev
Created March 20, 2020 20:08
Show Gist options
  • Save NavizDev/cb3ba62cedd01bc78052203b1b84d6fb to your computer and use it in GitHub Desktop.
Save NavizDev/cb3ba62cedd01bc78052203b1b84d6fb to your computer and use it in GitHub Desktop.
import { useState, useEffect } from "react";
const useForm = ({ initialValues }) => {
console.log(initialValues);
const [fields, setFields] = useState(initialValues);
const onChange = event => {
const { value, name } = event.target;
setFields({ ...fields, [name]: value });
};
useEffect(() => {
setFields(initialValues);
});
return {
fields,
getInput: name => ({
name,
value: fields[name],
onChange
}),
getSelect: name => ({
name,
value: fields[name],
onChange
})
};
};
export default useForm;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment