react-native - 使用 .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,
})
}
解决方案
您可以在 Image 上使用 useEffect 挂钩,以便在设置图像时,您可以调用导航功能。
useEffect(() => { if(image) navigating() }, [image]);
推荐阅读
- datadog - 为不同的环境创建相同的 Datadog 图
- node.js - RangeError BITFIELD_INVALID:无效的位域标志或数字
- python - 使用 python Beautifulsoup 进行网页抓取。如何抓取 dd 和 dt 元素中的文本?
- javascript - 外部脚本文件在 React 中不起作用
- apache-camel - 两个带有 netty4-http 的 Bundle 一个服务器和一个客户端服务负载客户端不
- c# - 使用 GUID 进行 RSA 加密和解密
- swift - 如何或将有关用户的一些信息添加到 Firebase Firestore 中,并通过 uid 从 SwiftUI 上的 Firebase Auth 识别它?
- express - Axios GET 未将 cookie 传递给 ExpressJS 服务器
- php - 在不同的框架中执行不同的操作后,我将我的网站分为 3 个框架。我无法关闭所有框架
- python - 使用 pandas 运行代码时出现 Python Traceback 错误