在react native中写入/编辑/覆盖json文件

Dam*_*ryx 5 javascript json react-native

我知道如何仅通过导入来读取json文件

import file from './config/data.json'; console.log(file);

但是,有没有一种简单的方法可以在其上进行写或编辑。

Jea*_*ser 9

如果你绝对想读/写文件,你可以使用react-native-fs

如果您想保留应用程序特定的设置,我建议使用AsyncStorage


Jon*_*wag 5

使用AsyncStorage保存本地设置:

以下是在代码中设置设置的示例(此示例适用于某些Switch

async setSettings() {
    try {
        var obj = {};
        var settings = await AsyncStorage.getItem('settings');
        settings = JSON.parse(result);
        Object.assign(obj, settings);
        this.setState(obj);
    } catch(e) {
    } finally {
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是更改代码中的设置

switchChanged(field, value) {
    var obj = {};
    obj[field] = value;
    AsyncStorage.getItem('settings').then(function(strResult) {
            var result = JSON.parse(strResult) || {};
            Object.assign(result, obj);
            AsyncStorage.setItem('settings', JSON.stringify(result));
    });
    this.setState(obj);
}
Run Code Online (Sandbox Code Playgroud)

最后是对render方法的调用

<Switch
onValueChange={(value) => this.switchChanged('reminders', value)}
value={this.state.reminders} />
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助您:)