import React, { Dispatch, MutableRefObject, SetStateAction } from 'react' import useCurrentState from '../utils/use-current-state' const useInput = ( initialValue: string, ): { state: string setState: Dispatch> currentRef: MutableRefObject reset: () => void bindings: { value: string onChange: (event: React.ChangeEvent) => void } } => { const [state, setState, currentRef] = useCurrentState(initialValue) return { state, setState, currentRef, reset: () => setState(initialValue), bindings: { value: state, onChange: (event: React.ChangeEvent) => { setState(event.target.value) }, }, } } export default useInput