Как сохранить пользовательские настройки в реагирующем нативном приложении? - PullRequest
0 голосов
/ 20 февраля 2019

Я создаю приложение, имеющее некоторые данные, которые должны быть сохранены при установке приложения.Эти данные могут быть изменены позже пользователями.Как сохранить данные только один раз при установке приложения, а не каждый раз при открытии экрана?
По сути, это все настройки приложения со значениями по умолчанию (пользовательские настройки), которые можно изменить позже.Я пробовал следующее:

_retrieveData = async() => {
    try {
        await AsyncStorage.multiGet('r1','r2','r3','r4','r5','fix','box').then(data =>{
            Utils.r1 = data[0][1];
            Utils.r2 = data[1][1];
            Utils.r3 = data[2][1];
            Utils.r4 = data[3][1];
            Utils.r5 = data[4][1];
            Utils.fix = data[5][1];
            Utils.modlShow = data[6][1];
            alert('data got successfully'); 
            if(!Utils.r1 || !Utils.r2 || !Utils.r3 || !Utils.r4 || !Utils.r5 || !Utils.fix || !Utils.modlShow) {
                 AsyncStorage.multiSet(['r1','1'],['r2','2'],['r3','3'],['r4','4'],
                    ['r5','5'],['fix','3'],['box','true']);
            }
        })
    } catch {
        alert('Error in retrieving data');
    }
}

Я получаю следующую ошибку:

undefined не является функцией (оценивается 'requestKeys.map (function (key) {return [key,map [key]];}) ')

Как убрать ошибку и получить значения?Заранее спасибо.

1 Ответ

0 голосов
/ 20 февраля 2019
_retrieveData = async() => {
try {
    const data = await AsyncStorage.multiGet('r1','r2','r3','r4','r5','fix','box')
    const Utils = {}
    Utils['r1'] = data[0][1];
    Utils['r2'] = data[1][1];
    Utils['r3'] = data[2][1];
    Utils['r4'] = data[3][1];
    Utils['r5'] = data[4][1];
    Utils['fix'] = data[5][1];
    Utils['modlShow']= data[6][1];
    alert('data got successfully'); 
    if(!Utils.r1 || !Utils.r2 || !Utils.r3 || !Utils.r4 || !Utils.r5 || !Utils.fix || !Utils.modlShow) {
         return AsyncStorage.multiSet(['r1','1'],['r2','2'],['r3','3'],['r4','4'],
                ['r5','5'],['fix','3'],['box','true']);
        }
} catch {
    alert('Error in retrieving data');
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...