React native 当导航到另一个页面时,如何防止捕获的图像延迟?
我正在尝试将捕获的图像从相机导航到另一个页面。这些是我使用的步骤 首先,我将捕获的图像存储在异步存储器中,然后导航到要显示该图像的新页面。从那里我得到保存在异步存储器中的一个或多个图像 问题在于: 使用相机拍摄并导航到下一页的第一张图像不会出现, 它出现在我第二次拍照时。 显示页面上显示的图像因图像延迟 尝试在异步存储集项上使用wait,以便仅在保存捕获的图像时才进行导航,但这对我不起作用。 从控制台上看,导航似乎发生在异步保存映像之前,因此一个映像中存在延迟 有什么帮助吗 这是相机功能组件中的代码示例,用于在导航前保存捕获的图像React native 当导航到另一个页面时,如何防止捕获的图像延迟?,react-native,React Native,我正在尝试将捕获的图像从相机导航到另一个页面。这些是我使用的步骤 首先,我将捕获的图像存储在异步存储器中,然后导航到要显示该图像的新页面。从那里我得到保存在异步存储器中的一个或多个图像 问题在于: 使用相机拍摄并导航到下一页的第一张图像不会出现, 它出现在我第二次拍照时。 显示页面上显示的图像因图像延迟 尝试在异步存储集项上使用wait,以便仅在保存捕获的图像时才进行导航,但这对我不起作用。 从控制台上看,导航似乎发生在异步保存映像之前,因此一个映像中存在延迟 有什么帮助吗 这是相机功能组件中的
const saveImage = async(res) => {
AsyncStorage.getItem('photos').then((photos) => {
const photo = photos ? JSON.parse(photos) : [];
photo.push(res);
AsyncStorage.setItem('photos', JSON.stringify(photo));
console.log("ASYNC STORAGE WORKED : "+JSON.parse(photos) )
//true if transferred image from camera is pushed to array
return () =>{
photo.clear();
}
});
}
摄影机功能组件中导航到下一页的代码
<Pressable
onPressIn={()=>{
takePicture();
}
}
onPressOut={()=>{
navigation.navigate('EvidenceSubmission')
}
}
style={styles.capture}>
<Icon
name="camera"
size={28}
color="#1D5179"/>
</Pressable>
您使用什么模块拍照?我使用“react native camera”:为什么您要手动执行某些操作,哪些模块为您服务?您不需要将映像存储在异步存储中。拍摄完照片后,您将获得图像源,您可以在应用程序中的任何位置使用该图像源。我将在“相机捕获”命令之后检索图像,并将其转到另一个页面以形成画廊视图。用户可以返回相机拍摄另一张照片。如何使用异步存储实现这一点-弗拉迪米尔
useEffect(()=> {
/*Get the stored captured images from async storage*/
async () => {
try {
const value = await AsyncStorage.getItem('photos')
if(value !== null){
setPhotos((JSON.parse(value)).reverse())
setIsLoading(false);
}
}catch(e){
console.log('error with async getData');
}
}
return ()=> {
}
}, []);