如何解决使用本机相机拍摄照片并将照片传递到另一个屏幕
我正在开发一个使用 React Native 相机的简单 React Native 投资组合构建应用程序。 takePicture 函数定义如下:
takePicture = async () => {
if (this.camera) {
let photo = await this.camera.takePictureAsync();
}
}
当按下按钮时调用它:
onPress = { () => {
this.takePicture();
//console.log("loggin");
this.props.navigation.navigate('PictureScreen');
}
}
我的问题是我想将照片传递给 PictureScreen。照片是用 let 范围声明的,所以我无法访问它并在我的导航调用中使用它。
如何访问照片并将其传递到下一个屏幕?我应该使用某种状态机制吗?
谢谢!
解决方法
您可以简单地从 Promise
返回 takePictureAsync
:
export class SomeComponent extends React.Component {
camera = null;
takePicture = () => {
if (!this.camera) {
throw new Error("Camera not initialized");
}
return this.camera.takePictureAsync();
}
onPress = async () => {
try {
const photo = await this.takePicture();
this.props.navigation.navigate('PictureScreen',{ photo });
} catch (error) {
console.error(`An error occured while taking the picture - ${error}`);
}
}
// ...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。