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

80
Vistas
REACT-Mejorando mi condición múltiple de código

¿Hay alguna manera de mejorar mi código ( Very Important , Important , Medium , Low , Good , Excellent , ... ):

 { Header: "Opinion", accessor: (row) => row.opinion, Cell: props => <span> {props.value === "Very important" ? <span className="text-black"> {props.value} </span> : props.value === "Important" ? : .... //other conditions } </span> },
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

¡Es posible que puedas hacer algo como esto, que se ve un poco más limpio en mi opinión!

 {"Very Important": <span className="text-black">{props.value}</span>, "Important": ..., "Medium": ..., ... }[props.value]
about 4 years ago · Juan Pablo Isaza Denunciar

0

Bueno, creo que esto depende también de la cantidad de condiciones.

Si son 1-2, podría representar el JSX directamente en el ternario.

Si hay más, diría que usa renderizadores parciales (extrayendo el JSX en componentes separados) o si hay muchos, como dijo @amit-maraj, usar un interruptor en línea podría ser una buena variante para evitar demasiado anidamiento , aunque es una sintaxis que no se usa con tanta frecuencia (ya que no tiene que hacer este tipo de cosas).

Además, extraería el JSX representado del interruptor en línea en funciones separadas, especialmente si tienen lógica o son de gran tamaño, para mantener el archivo legible.

Si este ejemplo representa solo una forma de colorear el texto, podría ser útil tener un pequeño componente que asigne la clase en función del valor de prop.

p.ej:

 const renderOpinion = (value) => { const getColor = () => { switch(value){ case "Very Important": return "text-black" //...other cases default: break; } } return <span className={getColor()}>{value}</span> }

Y, por supuesto, si tienen clases base, usar algo como nombres de clase o hacer directamente como:

 className={`text-small ${getColor()}`}

y luego simplemente llámalo como:

 //... Cell: props => renderOpinion(props.value)
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