React native 当导航到另一个页面时,如何防止捕获的图像延迟?

React native 当导航到另一个页面时,如何防止捕获的图像延迟?,react-native,React Native,我正在尝试将捕获的图像从相机导航到另一个页面。这些是我使用的步骤 首先,我将捕获的图像存储在异步存储器中,然后导航到要显示该图像的新页面。从那里我得到保存在异步存储器中的一个或多个图像 问题在于: 使用相机拍摄并导航到下一页的第一张图像不会出现, 它出现在我第二次拍照时。 显示页面上显示的图像因图像延迟 尝试在异步存储集项上使用wait,以便仅在保存捕获的图像时才进行导航,但这对我不起作用。 从控制台上看,导航似乎发生在异步保存映像之前,因此一个映像中存在延迟 有什么帮助吗 这是相机功能组件中的

我正在尝试将捕获的图像从相机导航到另一个页面。这些是我使用的步骤

首先,我将捕获的图像存储在异步存储器中,然后导航到要显示该图像的新页面。从那里我得到保存在异步存储器中的一个或多个图像

问题在于: 使用相机拍摄并导航到下一页的第一张图像不会出现, 它出现在我第二次拍照时。 显示页面上显示的图像因图像延迟

尝试在异步存储集项上使用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 ()=> {
           
        }
    
    }, []);