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

90
Vistas
Conditionally mapping two different arrays into a React component depending on boolean value

I currently have an array called options which is mapped into a React component like so:

{options.map((option) => (
   <Component key={option.code}></Component>
))}

However, I am trying to expand my component so that if a boolean value: shouldCount is true, then the optionsWithCount array is passed to the component instead of the options array. The component above has a lot more props etc than shown so I'd like to avoid just repeating the component with all of its props if possible.

Can anyone suggest a possible way of going about this?

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

0

Would using a utils function getOptions() work? It would take in the shouldCount flag as input and return the desired array. Example:

{ 
  getOptions(shouldCount).map((option) => (
    <Component key={option.code}></Component>
  ));
}

const getOptions = (shouldCount) => {
  return shouldCount ? optionsWithCount : options;
}
about 4 years ago · Juan Pablo Isaza Denunciar

0

You can update the options variable conditionally so you don't have to rewrite the same code again.

Make options a state;

const [options, setOptions] = useState([])

And use useEffect to update it;

useEffect(()=>{
    if(shouldCount) setOptions([1,2,3,4,5])
    else setOptions([5,6,7,8,9])
}, [shouldCount])

So that way, when shouldCount changed it will trigger useEffect and change optinos values.

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