RNFS.exists()始终返回FALSE

问题描述 投票:0回答:1

即使文件存在,RNFS.exists()方法也始终返回false。我的文件存储在手动创建的文件夹app / assets中

从'react-native'导入来自{react-native'导入样式的{react,Text,Image,Button}中的来自{./styles'导入{Provider as PaperProvider}的'react-native-paper'; var RNFS = require('react-native-fs');

class CharacterSelect extends Component {

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

javascript android react-native react-native-android
1个回答
0
投票

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

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
© www.soinside.com 2019 - 2024. All rights reserved.