RNFS.exists()始终返回FALSE

时间:2019-04-23 20:22:00

标签: javascript android react-native react-native-android

即使文件存在,RNFS.exists()方法始终返回false。我的文件存储在手动创建的文件夹应用程序/资产中

从'react'导入React,{Component} 从'react-native'导入{View,Text,Image,Button} 从“ ./styles”导入样式 从'react-native-paper'导入{提供者为PaperProvider}; var RNFS = require('react-native-fs');

CharacterSelect类扩展了组件{

static navigationOptions = {
    header: null
}

constructor() {
    super()
    this.state = {
        displayView:null
    }
}


async funcy() {
    RNFS.exists(await "@assets/character.json")
    .then((exists) => {
        if (exists){
            console.warn("in the if statement")
        } else {
            console.warn("in the else statement")
        }
    })
}

render() {
    this.funcy()



    const {} = styles
    return(
        <PaperProvider>
        <View style={styles.viewTitle}>
                <Text style={styles.textStyle}>Welcome to RpgDoIt!</Text>
                <Image style={styles.image} source={require('@assets/titlelogo.png')}/>
        </View>

        {this.state.displayView}
        </PaperProvider>
    )
}

}

导出默认的CharacterSelect

1 个答案:

答案 0 :(得分:0)

如果不将存储许可权标签添加到AndroidManifest.xml文件中,则RNFS.exists()将始终返回false。因此,您应该将此行添加到AndroidManifest.xml文件中。

将此行添加到android / app / src / main / AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />