Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

94
Visualizações
React Native cómo pasar una función con un parámetro dentro de un bucle for

Tengo el siguiente código para una aplicación React Native que usa Javascript y estoy creando una matriz de objetos que son datos para un menú contextual.

Cuando el usuario selecciona un proyecto del menú, debe llamar a handleSelectedProject, lo que hace y pasar el objeto del proyecto seleccionado, pero no estoy definido para la variable del proyecto.

Cualquier idea sobre cuál debería ser la sintaxis para obtener el objeto del proyecto seleccionado.

Gracias por adelantado.

 export default MobileMenu = () => { const projects = useSelector(getPickerList); const [menuItems, setMenuItems] = useState([]); useEffect(() => { loadMenuItems(); }, [projects]); const handleNewProject = () => { console.info("New Project"); }; const handleSelectedProject = (project) => { console.info("Project...", project); }; const loadMenuItems = () => { let items = []; items.push({ label: "New Project", onPress: handleNewProject, seperator: false, }); items.push({ seperator: true }); for (var i = 0; i < projects.length; i++) { items.push({ label: projects[i].project_name, onPress: () => handleSelectedProject(projects[i]), seperator: false, }); } setMenuItems(items); }; return ( <ScrollView> <View style={styles.container}> <ContextMenu items={menuItems} /> </View> </ScrollView> ); };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El problema está en tu bucle for . La devolución de llamada onPress hará referencia a la variable de bucle cuando el bucle ya haya terminado, momento en el que i está fuera de rango, por lo que los projects[i] se evaluarán como undefined .

La solución fácil es usar una variable de ámbito de bloque i , de modo que los projects[i] realmente hagan referencia a la variable que se creó específicamente para la iteración de ese ciclo. Para ello, reemplaza var i con let i .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda