Выполнение операции CRUD в React Native с использованием AsyncStorage

  *// Creating An Array
    const someArray = [1,2,3,4];
    return AsyncStorage.setItem('somekey', JSON.stringify(someArray))
    .then(json => console.log('success!'))
     .catch(error => console.log('error!'));



   //Reading An Array 
   return AsyncStorage.getItem('somekey')
  .then(req => JSON.parse(req))
  .then(json => console.log(json))
  .catch(error => console.log('error!'));
   * 

Как я могу обновить определенный индекс массива и удалить индекс
например, новый массив должен быть {1,A,3}


person Abdul Manan    schedule 31.01.2019    source источник


Ответы (1)


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

return AsyncStorage.getItem('somekey')
  .then(req => JSON.parse(req))
  .then(json => {
          const temp = json;
          temp[2] = 'A';
          temp.pop(); // here it's [1, A, 2]
          AsyncStorage.setItem('somekey', JSON.stringify(temp));
       })
  .catch(error => console.log('error!'));

А затем, чтобы удалить любой элемент, просто выполните AsyncStorage.removeItem('somekey'). Нет прямых операций с AsyncStorage, позволяющих выполнять более глубокие обновления, только наборы данных ключ/значение.

person Predrag Beocanin    schedule 31.01.2019
comment
Могу ли я выполнить операцию CRUD, используя Realm или любую другую базу данных. Если у вас есть такой пример, поделитесь им. Это поможет мне с моим заданием. Мне нужна только простая операция CRUD с массивом ...... - person Abdul Manan; 31.01.2019
comment
Есть реализации, в которых люди используют AsyncStorage, и служба в основном управляет этим в облаке, и Realm кажется одной из них. Если вы хотите, чтобы в вашем распоряжении был полноценный бэкэнд, попробуйте Firebase — его не так уж сложно внедрить в приложение. - person Predrag Beocanin; 31.01.2019
comment
Пожалуйста, проверьте этот ответ, чтобы узнать о некоторых вариантах хранения данных в родном реагировании stackoverflow.com/questions/44376002/ - person Predrag Beocanin; 31.01.2019