Я думаю, что этот вопрос уже решен в выпуске Github:
https://codesandbox.io/s/react-hook-form-smart-form-component-17k06
вы можете передать правила (валидацию) как реквизиты
<Input name="firstName" rules={{ required: true }} />
export function Input({ register, name, rules, ...rest }) {
return <input name={name} ref={register(rules)} {...rest} />;
}