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

144
Visualizações
El evento Touche en FlatList nativo de reacción no funciona si el elemento se eliminó y se volvió a agregar

Estoy haciendo una aplicación en Android usando react-native y tengo un problema al usar la entrada táctil dentro de mi FlatList después de eliminar y agregar elementos a FlatList.

Cómo sucede el problema:

  1. Agrego un elemento en mi matriz de datos y agrega un botón a FlatList.
  2. Puedo interactuar con el botón como se esperaba.
  3. Restablecí la matriz de datos a [].
  4. Elimina el Botón de la FlatList.
  5. Agrego otro elemento en mi matriz de datos y agrega un Botón a FlatList
  6. ( PROBLEMA comienza aquí ) aunque el botón aparece en FlatList, no puedo interactuar con él (he probado otros elementos táctiles como Pressable, TextInput o simplemente usando onPress en un elemento y obtengo el mismo comportamiento)
  7. Si agrego otro elemento a la matriz de datos, agregará un nuevo botón de trabajo (es decir, el primer botón no funciona pero el segundo botón funciona)
  8. Si elimino el botón n y empiezo a agregar el botón n + m nuevamente, entonces el primer n no funcionará, pero el m-ésimo último funcionará.

Reduje el problema al siguiente código pequeño:

 import React, {useState} from 'react'; import {Button, FlatList, View} from 'react-native'; export default function Test() { const [data, setData] = useState([]); function addData() { setData(prev => [...prev, {key: new Date().getTime(), text: 'some text'}]); } function deleteAllData() { setData([]); } return ( <View style={{ flex: 1, }}> <Button title={'ADD'} onPress={() => addData()} /> <Button title={'DEL'} onPress={() => deleteAllData()} /> <FlatList data={data} renderItem={({item, index}) => { return ( <Button key={item.key} title={`${item.key}`} onPress={() => console.log('Clic!')} /> ); }} /> </View> ); }

Creo que me estoy perdiendo algo obvio, pero me está volviendo loco ^^ ¡Cualquier ayuda sería apreciada!

Estoy usando react-native 0.66.0 y react 17.0.2 testing en mi dispositivo Android físico.

about 4 years ago · Juan Pablo Isaza
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