Skip to content

Instantly share code, notes, and snippets.

@opensourcekam
Created October 1, 2019 22:27
Show Gist options
  • Save opensourcekam/ec818686b52ad40ad732ec1017fccb1b to your computer and use it in GitHub Desktop.
Save opensourcekam/ec818686b52ad40ad732ec1017fccb1b to your computer and use it in GitHub Desktop.
form hook
import { useState } from "react";
export const useForm = cb => {
const [values, setValues] = useState({});
const handleSubmit = event => {
if (event) event.preventDefault();
if (cb && typeof cb === "function") cb(values);
};
const handleChange = event => {
event.persist();
setValues(values => ({
...values,
[event.target.name]: event.target.value
}));
};
return {
handleChange,
handleSubmit,
values
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment