-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Como colocar o spreadoperator do register se meu input é um componente? #2
Comments
Fala Mayk , beleza ? Cara eu li teu comentário, e achei uma solução aqui. Não sei se é a melhor porém pra mim funcionou, vamos lá: Primeiro criei um componente chamado InputEmail com o seguinte código:
Eu realmente apenas copiei a div que já existia na index com o campo do e-mail, adicionei nele uma prop chamada register pra receber a função do useForm. Em seguida eu usei esse componente lá na index e ai que vem o pulo do gato (rs) , coloquei a função register do useForm como uma props do componente:
Dessa forma, quando lá no componente o dado for alterado, executa o register do useForm que está lá na index. Lá no seu código ao invés de fazer o spread direto no componente customizado "Input", você coloca um nome pra props:
Dai no seu componente customizado vc recebe props.inputRegister, assim:
Não sei se te ajuda ou se foi isso que perguntou, mas espero ter ajudado! Abraço! |
Eu tive esse problema, para resolve isso você precisa dar acesso ao input via ForwardRef, pois o react-hook-form acessa o component via ref, um exemplo do seu caso usando ForwardRef:
export const InputEmail = forwardRef>((props, ref) => {
return (
Email address
|
Seguindo o tutorial do Youtube, me deparei com uma situação: Se eu uso o input do HTML mesmo, funciona.
Porém, em meu front-end, eu utilizo um componente Input customizado. No fim, ele gera um HTML normal. Porém, quando passo o {...register('email')}, ao executar o handleSignIn, ele me retorna undefined.
Não sei como proceder, nem como colocar este spread para ser lido no meu componente.
The text was updated successfully, but these errors were encountered: