Javascript react本机文档选择器应用程序在选择文档后关闭/崩溃

Javascript react本机文档选择器应用程序在选择文档后关闭/崩溃,javascript,android,react-native,Javascript,Android,React Native,在这里回应母语学习者。 我正在尝试在我的应用程序中实现一个react原生文档选择器。 以下是我从教程中获得的简单实现: 理想情况下,它应该工作完美。 下面是非常简化的最小运行代码: const MyDocumentPicker = () => { const [singleFile, setSingleFile] = useState(''); const [multipleFile, setMultipleFile] = useState([]); const selec

在这里回应母语学习者。 我正在尝试在我的应用程序中实现一个
react原生文档选择器
。 以下是我从教程中获得的简单实现:

理想情况下,它应该工作完美。 下面是非常简化的最小运行代码:

const MyDocumentPicker = () => {
  const [singleFile, setSingleFile] = useState('');
  const [multipleFile, setMultipleFile] = useState([]);

  const selectOneFile = async () => {
    //Opening Document Picker for selection of one file
    try {
      const res = await DocumentPicker.pick({
        type: [DocumentPicker.types.allFiles],
      })
      .then((resolve) => {console.log("Resolve: ", resolve)
        var res1 = resolve;
        setSingleFile(res1);
        console.log('res : ' + JSON.stringify(res)); //correct output
        console.log('URI : ' + res.uri); //outputs: content://com.android.providers.media.documents/document/image%3A25
        console.log('Type : ' + res.type); //outputs: image/jpeg
        console.log('File Name : ' + res.name); //outputs: 
        console.log('File Size: ' + res.size); //outputs: 199923
        console.log('singleFile STATE: ', singleFile); //outputs: ""
        console.log('singleFile STATE TYPEOF: ', typeof singleFile); //outputs: string
        console.log('singleFile STATE LENGTH: ', singleFile.length);  //outputs:  0
      })
      .catch((reject) => console.log("Reject: ", reject));
      
    } catch (err) {
      console.log("Exception error: ", err);
      //Handling any exception (If any)
      if (DocumentPicker.isCancel(err)) {
        //If user canceled the document selection
        alert('Cancelled from single doc picker');
      } else {
        //For Unknown Error
        alert('Unknown Error: ' + JSON.stringify(err));
        throw err;
      }
    }
  };

  return (
    <SafeAreaView style={{flex: 1}}>
      {(<View>
      <Text style={styles.titleText}>
        Example of File Picker in React Native
      </Text>
      <View style={styles.container}>
        {/*To show single file attribute*/}
        <TouchableOpacity
          activeOpacity={0.5}
          style={styles.buttonStyle}
          onPress={selectOneFile}>
          {/*Single file selection button*/}
          <Text style={{marginRight: 10, fontSize: 19}}>
            Click here to pick one file
          </Text>
          <Image
            source={{
              uri: 'https://img.icons8.com/offices/40/000000/attach.png',
            }}
            style={styles.imageIconStyle}
          />
        </TouchableOpacity>
        {/*Showing the data of selected Single file*/}
        <Text style={styles.textStyle}>
          File Name: {singleFile.name ? singleFile.name : ''}
          {'\n'}
          Type: {singleFile.type ? singleFile.type : ''}
          {'\n'}
          File Size: {singleFile.size ? singleFile.size : ''}
          {'\n'}
          URI: {singleFile.uri ? singleFile.uri : ''}
          {'\n'}
        </Text>
        <View
          style={{
            backgroundColor: 'grey',
            height: 2,
            margin: 10
          }} />
      </View>
      </View>)}
    </SafeAreaView>
  );
};
...
<MyDocumentPicker/>
...
styling
...

任何方向,原因可能是什么。在过去2天中一直处于这种情况。

我在选择文件时也面临同样的崩溃问题。请检查您的程序包JSON文件,尝试逐个删除插件并测试文档选择器。在我的情况下,问题是由本地upi支付引起的。

是否解决?请分享解决方案不,它还没有解决。我仍在搜索。您好,删除
react native upi payment
导致文档选取器工作成功?如果是,那么您正在使用的
react native upi payment
的替代方案是什么?使用react native payment作为替代方案
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />