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

156
Vistas
Cómo escribir código JS dentro del método de retorno en React.js

Hay una variable llamada "checkPwd" que tiene 3 valores opcionales. "correcto", "vacío" e "inválido" El método de retorno debe devolver varios elementos HTML basados en esta variable. Como esto.

 <FormControl> <Stack style={styles.stack}> <Input type="password" placeholder="Confirm Password" isInvalid={checkPwd == "correct" ? false : true} /> { if (checkPwd == "empty") { <FormControl.ErrorMessage> Please confirm password. </FormControl.ErrorMessage> } else if(checkPwd == "invalid") { <FormControl.ErrorMessage> Password is not strong enough. </FormControl.ErrorMessage> } } </Stack> </FormControl>

Pero este código produce un error durante la compilación. Espero sus amables colaboraciones.

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

0

Puede agregar una condición como esta:

 {checkPwd == "empty" && ( <FormControl.ErrorMessage> Please confirm password. </FormControl.ErrorMessage> )} {checkPwd == "invalid" && ( <FormControl.ErrorMessage> Password is not strong enough. </FormControl.ErrorMessage> )}
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede extraer su lógica a una función , puede escribirla en este estilo if/else . Luego, en JSX, simplemente ejecutaría la función como {someFunction()}

 export default function App() { const checkPwd = "empty"; const someFunction = () => { if (checkPwd === "empty") { return <div>Please confirm password.</div>; } else if (checkPwd === "invalid") { return <div>Password is not strong enough.</div>; } return null; }; return ( <> <div> <input type="password" placeholder="Confirm Password" /> {someFunction()} </div> </> ); }

Editar upbeat-leftpad-ludm7

Sin embargo, un enfoque más común sería tener un operador ternario en línea en el JSX para controlar qué renderiza según la condición.

 export default function App() { const checkPwd = "empty"; return ( <> <div> <input type="password" placeholder="Confirm Password" /> {checkPwd === "empty" ? ( <div>Please confirm password.</div> ) : checkPwd === "invalid" ? ( <div>Password is not strong enough.</div> ) : null} </div> </> ); }

Editar smoosh-plataforma-pt1n6


Y finalmente, si solo está asignando códigos de error de validación a valores de cadena (tal vez recibió un código de error feo del servidor pero desea mostrar algo más legible para el usuario), dejaré este enfoque aquí para que lo considere.

 const errorCodeMap = { empty: "Please confirm password", weak: "Password is not strong enough", short: "Password is not long enough", unmatched: "Both password values must match", missingNumber: "Password must incliude a number" }; export default function App() { const errorCode = "short"; return ( <> <div> <input type="password" placeholder="Confirm Password" /> {!!errorCode && <div>{errorCodeMap[errorCode]}</div>} </div> </> ); }

Editar encantador-tesla-mugo3

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto se debe a que jsx no admite declaraciones if else , en su lugar, puede usar el operador ternary

 {checkPwd == "empty" ? ( <FormControl.ErrorMessage> Please confirm password. </FormControl.ErrorMessage> ) : checkPwd == "invalid" ? ( <FormControl.ErrorMessage> Password is not strong enough. </FormControl.ErrorMessage> ) : null}
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