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

316
Vistas
Formulario Redux con envío para crear, editar y eliminar registros (envío múltiple)

Estoy experimentando con reaccionar. Soy principalmente backend, por lo que frontend me da algunos problemas obvios. Probé algunas soluciones de Google pero no obtuve ningún éxito. Aquí está el problema. Tengo el siguiente formulario. ingrese la descripción de la imagen aquí

Este formulario le permite crear o editar servicios. Existe el mismo método de devolución de llamada para guardar los cambios.

 export const createOrUpdateService = (data, _, props) => { console.log('Create or Update invoked.'); if (data.id) { props.dispatch(actions.updateService(data.id, data)); } else { props.dispatch(actions.createService(data)); } }

Por alguna razón, cuando edito y guardo, la operación funciona correctamente. Pero cuando creo y guardo este método nunca se llama. Estos son mis botones redux que llaman al método createOrUpdateService.

 <button className='btn btn-form my-button--orange' type='button' style={{margin: "5px"}} disabled={editable} onClick={() => enableEdit() }> New Service </button> <button className='btn btn-form my-button--orange' type='button' style={{margin: "5px"}} disabled={!valid || submitting} onClick={() => enableEdit() } > Edit Service </button> <button className='btn btn-form my-button--orange' type='submit' style={{margin: "5px"}} disabled={!editable} onClick={() => handleEdit(handleSubmit(createOrUpdateService)) } > Save </button>

Este es el método handleEdit -

 const handleEdit = (editCallBack) => { if (editable) { editCallBack() } toggleEditable(); }

Me pregunto si editCallback() puede implicar createOrUpdateService() para "Editar servicio", ¿por qué no para "Nuevo servicio"? Me pregunto cómo puedo invocar múltiples envíos desde el mismo formulario.

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

0

El problema fue que el envío no tuvo éxito si props.invalid es verdadero. En mi caso, para create props.invalid era verdadero, mientras que para editar era falso. Así que revisé mis validaciones y me di cuenta de que tengo una validación para el campo "id". Lo cual será nulo para la creación.

Eliminé la validación y funcionó bien.

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