在React Native中保存数据

时间:2019-09-15 06:51:44

标签: react-native

Link to the File Structure Photo 因此,我目前正在学习React Native,并假设照片中显示的文件结构。我希望用户单击一个按钮,以便该按钮将一些文本保存到资源下的txt文件中。我将如何去做?

我尝试了AsyncStorage,fn-fetch-blob,react-native-filesystem,但是它们失败了(不确定这些库是否打算用于您电话设备上的特定文件目录)

到目前为止,我得到的是下面显示的代码,如果用户单击“创建文件”按钮,则它将保存到与当前.js所在目录相同的文本文件“ my-file.txt”文件,那是行不通的

import FileSystem from 'react-native-filesystem'

export default class SaveData extends React.Component {
    render() {
        return (
            <View style={styles.container}>
                <TouchableOpacity onPress={this.createFile}>
                    <Text>Save to file</Text>
                </TouchableOpacity>
            </View>
        );
    }

    createFile = async () => {
        const fileContents = 'This is some content.';
        await FileSystem.writeToFile('./my-file.txt', fileContents);
    }
}

1 个答案:

答案 0 :(得分:0)

您在这里尝试执行的操作是不可能的。当您的应用运行时,无法访问这些目录。这与在计算机(例如,node.js应用程序)上运行时不同。在本机环境中运行时,此文件结构将不可用。

Async storage不用于保存文件。它用于保存值,因此永远无法满足您在此处要完成的工作。

与您尝试执行的操作最接近的事情是使用react-native-fetch-blob并将文件存储在设备的文件系统中,这也是在移动设备上存储文件的正确方法。 / p>