React Native / Expo - 将图像传递到预览屏幕

Posted

技术标签:

【中文标题】React Native / Expo - 将图像传递到预览屏幕【英文标题】:React Native / Expo - Pass Image to Preview Screen 【发布时间】:2019-09-09 08:28:07 【问题描述】:

我正在使用 Expo 相机 API 拍照 --

//CameraScreen.js

capture = async () => 
    if(this.camera)
      this.camera.takePictureAsync()
      .then( (data) => 
        console.log(data)
        this.props.navigation.navigate("PreviewScan", data: data)
      )
    
  

拍完照片后,我想导航到另一个屏幕,在那里我可以预览照片并上传/做任何事情。我尝试通过参数传递数据并在预览屏幕中获取 -

// PreviewScreen.js

render()

      const data = this.props.navigation.getParam('data');

      console.log(data);

      return (

        <View style= flex: 1 >

          <Image source=data.uri />

          <TouchableOpacity style=styles.backButton onPress= () =>  this.goBack()  >
            <Image source=require('../assets/icons/back-arrow.png') />
          </TouchableOpacity>
        </View>
      );
    

但是我得到了一个失败的道具类型作为来源。

最好的方法是什么?

【问题讨论】:

【参考方案1】:

答案是只在图像标签中指定 URI 选项。

所以

&lt;Image source=data.uri /&gt;

成为

&lt;Image source= uri: data.uri /&gt;

【讨论】:

以上是关于React Native / Expo - 将图像传递到预览屏幕的主要内容,如果未能解决你的问题,请参考以下文章

与 Expo 配合使用的 React Native 图像裁剪工具

使用 Expo 在 react-native 上共享图像和文件

无法从 firebase/storage 导入 getStorage 以与 React Native Expo 图像选择器一起使用

在页面之间导航时图像组件闪烁 React Native + Expo

Expo / React Native:弹出到裸工作流后找不到图像文件

延迟使用 React Native Camera / Expo Camera 捕获图像,设置“处理消息”?