如何从相机中一一捕捉3张或多张图像在反应原生

问题描述

我是本机反应的新手。我创建了一个屏幕。从我从相机捕捉图像的地方,但现在。我只能捕捉一张图像。但我想捕捉 3 张图像。当用户第四次单击图像时,第一个图像图像将被替换,依此类推。我想在同一屏幕上显示该图像。请帮忙。谢谢

这是代码

    this.state = {
      resourcePath: {},singleFile:null,fileUri:null,imageArray1:null,};
  }

  requestCameraPermission = async () => {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.CAMERA,{
          title: "App Camera Permission",message:"App needs access to your camera ",buttonNeutral: "Ask Me Later",buttonNegative: "Cancel",buttonPositive: "OK"
        }
      );
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        
            let options = {
              storageOptions: {
                skipBackup: true,path: 'images',},};

        ImagePicker.launchCamera(options,(res) => {
              console.log('Response = ',res);
        
              if (res.didCancel) {
                console.log('User cancelled image picker');
              } else if (res.error) {
                console.log('ImagePicker Error: ',res.error);
              } else if (res.customButton) {
                console.log('User tapped custom button: ',res.customButton);
                alert(res.customButton);
              } else {
                const source = { uri: res.uri };
                console.log('response',res.uri);

             
                this.setState({
                  filePath: res,fileData: res.data,fileUri: res.uri,singleFile: res.uri,imageArray1: res.uri,});
              }
            })
      } else {
        console.log("Camera permission denied");
      }
    } catch (err) {
      console.warn(err);
    }
  };


   

  render() {
    return (
        <Image source={{uri: this.state.imageArray1}} style={{width: 100,height: 100}} />
     

          <TouchableOpacity onPress={this.requestCameraPermission} style={styles.button}>
              <Text style={styles.buttonText}>Launch Camera Directly</Text>
          </TouchableOpacity>



解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)