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

276
Vistas
Matriz de JavaScript en conflicto con React Component

Tengo tres casillas de verificación que, cuando se seleccionan, activan una función. Estoy usando React-Bootstrap y mi código es así:

 let departmentArray = ([]); function handleCheck(val) { //DEPARTMENT ARRAY LOAD const index = departmentArray.indexOf(val); if (index > -1) { departmentArray.splice(index, 1); } else { departmentArray.push(val); } //REACT COMPONENT if (val === "Maintenance") { setMaintCheck(!maintCheck); } else if (val === "Process") { setProcCheck(!procCheck); } else if (val === "Toolroom") { setToolCheck(!toolCheck); } }; return ( <> <Form.Check name={'department'} onClick={(e) => {handleCheck("Maintenance")}} checked={maintCheck} /> <Form.Check name={'department'} onClick={(e) => {handleCheck("Process");}} checked={procCheck} /> <Form.Check name={'department'} onClick={(e) => {handleCheck("Toolroom");}} checked={toolCheck} /> </> )

El estado de las casillas de verificación funciona con este código, pero la matriz departmentArray no funciona si el código debajo de //REACT COMPONENT está presente. Si elimino estas líneas, el archivo departmentArray se carga correctamente. No tengo idea de por qué los dos se estarían afectando mutuamente.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

El departmentArray parece ser un var normal para React, cuando el código que está debajo de // REACT COMPONENT ejecuta el componente se vuelve a representar y el departmentArray se reinicializa a []. Puede sacar a departmentArray del componente como una constante o declararlo como una variable de estado para que el componente reaccione a sus cambios.

Esto es lo que quiero decir:

 const departmentArray = [] const component = (props) => { const loadData = () => { // get data from somewhere departmentArray.push(...) } return <></> }

O puede declarar departmentArray como una variable de estado:

 const [departmentArray, setDepartmentArray] = useState([]) const loadDepartments = () => { // load data } useEffect(loadDeparments, [])

about 4 years ago · Santiago Gelvez 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