Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

387
Vistas
Cómo pasar el handleSubmit del componente secundario a un componente principal

Tengo componentes Parent e Child , donde el último tiene un formulario:

 import React from "react"; import { useForm } from "react-hook-form"; function Parent() { const onSubmit = (data) => { console.log(data); }; return <Child onSubmit={onSubmit} /> } function Child({ onSubmit }) { const { register, handleSubmit, } = useForm(); return ( <form onSubmit={handleSubmit(onSubmit)}> <input defaultValue="test" {...register("example")} /> <input type="submit" /> </form> ); }

Aquí necesito invocar el envío de formularios desde el componente principal.

Si bien podría llevar useForm a un componente principal, siento que esto va en contra del principio de encapsulación ya que useForm se usa en el componente secundario, idealmente debería estar allí:

 function Parent() { const { register, handleSubmit, } = useForm(); const onSubmit = (data) => { console.log(data); }; return <Child submit={handleSubmit(onSubmit)} register={register} /> } function Child({ submit, register }) { return ( <form onSubmit={submit}> <input defaultValue="test" {...register("example")} /> <input type="submit" /> </form> ); }

¿Hay una mejor manera de hacer esto?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda