Normally when we want to make a form we should think about which approach we are going to use; controlled or uncontrolled or debounce input. When we use useForm we can make the three aproach the same way, it is possible because useform has a function to register inputs and that function can make all kinds of input.
The input function registers an input HTML tag. You can pass input tag or input name and type properties respectively.
custom function registers a custom component like Custom Selects, Custom DatePiker. Custom inputs change your internal state every time the onChange event is dispatched, this means the
custom function not support uncontrolled inputs.