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

681
Vistas
React Native y Formik pasan parámetros personalizados a onSubmit

Estoy usando Formik para enviar mis formularios. Estoy tratando de agregar parámetros personalizados a mi función onSubmit, para poder obtener values del formulario y ese parámetro personalizado.

 const handleSubmit = async (customParam) => { console.log(customParam); console.log('Values : '); console.log(values); } <AppForm initialValues={{ rejectionComment: "" }} onSubmit={handleSubmit(myCustomParam)}> //My FORMIK form <AppFormField multiline={true} numberOfLines={4} name="rejectionComment" secured={false} autoCapitalize="none" autoCorrect={false}/> <SubmitButton title="Valider" /> //Validation button </AppForm>

Con este código, puedo registrar myCustomParam pero no puedo obtener los valores del formulario [Unhandled promise rejection: ReferenceError: values is not defined]

Si cambio onSubmit a onSubmit={handleSubmit} y handleSubmit a const handleSubmit = async (values) => {console.log(values);} puedo registrar mis valores, pero no puedo agregar mi parámetro personalizado.

¿Puedes por favor proporcionar algo de ayuda?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes hacer esto con dos cambios.

  1. Cambie su función handleSubmit para aceptar dos argumentos (tampoco es necesario que sea asíncrono, a menos que esté haciendo más cosas de las que ha mostrado aquí).
 const handleSubmit = (values, customParam) => { console.log({ values, customParam }); };
  1. Pasa values donde Formik los proporciona.
 <AppForm onSubmit={values => { handleSubmit(values, myCustomParam); })} ... >

Explicación:

Cuando cambia su código a onSubmit={handleSubmit) , el componente Formik lo llama con los valores del formulario. La forma larga de esto sería onSubmit={values => handleSubmit(values)} . Dado que su parámetro personalizado se define fuera de Formik, debe pasarlo a la función manualmente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Abe señaló lo obvio. Al usar la devolución de llamada, he podido definir valores y parámetros personalizados:

onSubmit={(values) => handleSubmit(values, "test")}

 const handleSubmit = async (values, customParam) => { console.log(values); console.log(customParam); }
about 4 years ago · Juan Pablo Isaza Denunciar
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