首页 > 解决方案 > 使用 .then 在 2 个屏幕之间导航

问题描述

我正在开发一个移动应用程序,它可以拍照然后在不同的屏幕上渲染,我可以这样做,但问题是当我调用图像选择器来拍摄图像然后将其传递到另一个屏幕时,我得到了第一个屏幕我的按钮在导航到第二个屏幕之前显示了大约一秒钟,我该如何防止这种情况发生,这里是代码:

useEffect(() => { if(image) navigating() }, [image]);

const takePicture=()=>{
    ImagePicker.openCamera({
        mediaType:'photo',
        width: 300,
        height: 400,
        includeBase64:true,
        cropping: true,
      }).then(image => {
        setImage(image.path);
      });

}

这是导航功能

const navigating=()=>{
  return navigation.navigate("Result",{
    key: image,
  })
}

标签: react-nativenavigationimagepicker

解决方案


您可以在 Image 上使用 useEffect 挂钩,以便在设置图像时,您可以调用导航功能。

useEffect(() => { if(image) navigating() }, [image]);


推荐阅读