import React from 'react' import { FormChangeEvent } from './types' export function useFormChange( initialState: S | (() => S), ): [(event: FormChangeEvent) => void, S, React.Dispatch>] { const [values, setValues] = React.useState(initialState) return [ function (event: FormChangeEvent): void { const name = event.target.name const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value setValues((values: any) => ({ ...values, [name]: value, })) }, values, setValues, ] }