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

174
Visualizações
<Imagen> vea la imagen anterior incluso después de capturar una imagen nueva usando react-native-vision-camera

Estoy usando react-native-vision-camera para capturar una imagen y verla dentro de un componente <Image> . El comportamiento esperado es actualizar la imagen después de capturar una nueva. Dado que la propiedad de source del componente <Image> apunta a una nueva imagen (con el mismo nombre Ok, pero aún así, es una nueva imagen).

Pero esto nunca sucede. Incluso cuando vuelvo a cargar la aplicación, <Image> aún muestra la imagen anterior. Tengo que cambiar el nombre de la nueva imagen.

Pensé que esto sucede porque tal vez el estado de la propiedad de source se actualiza antes de que react-native-vision-camera guarde la nueva imagen, por lo que el componente <Image> representa la imagen anterior, pero estoy usando async-await hasta donde yo sé , esto no debería pasar.

El código que escribí para la función de captura es

 const [photoPath, setPhotoPath] = useState(""); const capture = async () => { const photo = await camera.current.takePhoto(); const path = RNFS.ExternalDirectoryPath + '/photo-X.jpg'; //when i update X (in the saved image name) with a new number, //<Image> views the correct image. await RNFS.moveFile(photo.path, path) setPhotoPath("file://" + path) }

el codigo para ver la imagen

 { photoPath.length > 0 ? < Image source={{ uri: photoPath }} style={[styles.camera, { backgroundColor: 'black' }]} /> : null }

Tengo un <Button> de captura que llama a la función capture() que actualiza el estado de photoPath que debería actualizar la source del componente <Image> y este proceso debería ver la nueva imagen. Pero esto nunca sucede, incluso después de recargar la aplicación. Tengo que elegir un nuevo nombre para la nueva imagen para que se pueda ver. ¿Por qué obtengo este comportamiento en lugar del que esperaba? ¿Qué tiene de malo mi código o mi comprensión y cuál es la solución correcta?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Después de un día de búsqueda y depuración, descubrí que <Image> , por una razón que desconozco, genera la imagen cobrada. Y dado que no hay una manera fácil de eliminar efectivo en react-native, esta es una solución alternativa que resolvió mi problema.

 < Image source={{ uri: photoPath + "?" + new Date() }} style={[styles.camera, { backgroundColor: 'black' }]} />
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