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

173
Vistas
<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 Respuestas
Responde la pregunta

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 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