сохранение и удаление еженедельного расписания в асинхронном хранилище реагирует на родное - PullRequest
3 голосов
/ 22 июня 2019

У меня есть сценарий в моем проекте, где я должен сохранять еженедельное расписание с указанием времени начала и окончания

Что я хочу

пользователь может ввести дневное расписание с указанием времени начала и окончания и может удалить.

Также у меня есть подтверждение, что если у пользователя есть дневное расписание, он не может сохранить другое в тот же день раньше.удаление первого.

То, что я пробовал

AsyncStorage multiset и multiget

, но я не достиг своих целей.

Пожалуйста, дайте мне знать, как я могу сохранить и получить расписание из AsyncStorage , используя объекты или ассоциативный массив.

UI pic

Помощь будет оценена

Ответы [ 3 ]

1 голос
/ 22 июня 2019

Вы можете хранить только строки в AsyncStorage. Вам нужно будет привести в порядок ваш массив / объект и проанализировать при получении.

Async Storage хранит пары ключей и значений.

AsyncStorage.setItem(key, JSON.stringify(item));
AsyncStorage.getItem(key);
async setSchedule(schedule){
   try{
     let value = await AsyncStorage.getItem("schedule");
     if(value==null)
     {
        await AsyncStorage.setItem("schedule",JSON.stringify(schedule));
        console.log("schedule Not there);
     }
     else{
        console.log("schedule aldready set");
     }
   }
   catch(er){
   }
}

async removeSchedule()
{
   await AsyncStorage.removeItem("schedule")
}

async getSchedule()
{
   let value = await AsyncStorage.getItem("schedule")
   return JSON.parse(value)
}
0 голосов
/ 22 июня 2019

Сохранить данные как объект и сохранить их как асинхронное хранилище в виде строки, используя JSON.stringify

state = {
 schedule: [{ day: 'Monday', start: '9:00', end: '17:00'}]
}

Сохранить элементы в виде строки

0 голосов
/ 22 июня 2019

Сохранить данные как объект и сохранить их в асинхронном хранилище в виде строки, используя JSON.stringify

state = {
 schedule: [{ day: 'Monday', start: '9:00', end: '17:00'}]
}

сохранить элементы в виде строки

AsyncStorage.setItem('schedule', JSON.stringify(this.state.schedule));

Получить предметы.

const items = await AsyncStorage.getItem('schedule');
const schedule = JSON.parse(items);

DEMO

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