Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 使用React Native显示文件夹中的图像_Image_React Native - Fatal编程技术网

Image 使用React Native显示文件夹中的图像

Image 使用React Native显示文件夹中的图像,image,react-native,Image,React Native,我遇到了一个愚蠢的问题,我不知道如何解决 我有一个带有摄像头的屏幕,可以拍照并返回到上一个屏幕的路径。在这个屏幕中,我想显示拍摄的照片。我找到了照片的路径 因此,显示图像的标准方式是 这就是我试图做的: {this.state.photoFile( ):null} 我在第# 我试着和你一起解决这个问题 this.state={photoFile:'../../resources/logo.png'} ... let img=require('../../resources/logo.png

我遇到了一个愚蠢的问题,我不知道如何解决

我有一个带有摄像头的屏幕,可以拍照并返回到上一个屏幕的路径。在这个屏幕中,我想显示拍摄的照片。我找到了照片的路径

因此,显示图像的标准方式是

这就是我试图做的:


{this.state.photoFile(
):null}
我在第#

我试着和你一起解决这个问题

this.state={photoFile:'../../resources/logo.png'}
...
let img=require('../../resources/logo.png')
if(this.state.photoFile){
img=require(this.state.photoFile)
}
甚至

let path='../../resources/logo.png'
如果(this.state.photoFile)路径=this.state.photoFile
设img=require(路径)
但都不管用


我该怎么做?谢谢。

在React native中,编译捆绑包之前需要加载所有图像源。因此,您无法在require中从动态路径渲染图像

您可以使用base64显示图像。摄像头还提供base64图像

若要为预构建的映像创建动态路径,则将通过switch语句完成该操作

比如说

class App extends Component {
  state = { avatar: "" }

  get avatarImage() {
    switch (this.state.avatar) {
      case "car":
        return require('./car.png');
      case "bike":
        return require('./bike.png');
      case "bus":
        return require('./bus.png');
      default:
        return require('./defualt.png');
    }
  }

  render() {
    return <Image source={this.avatarImage} />
  }
}
类应用程序扩展组件{
状态={avatar:}
获取avatarImage(){
开关(this.state.avatar){
案例“汽车”:
退货要求('./car.png');
案例“自行车”:
返回要求('./bike.png');
案例“巴士”:
返回要求('./bus.png');
违约:
返回要求('./default.png');
}
}
render(){
返回
}
}