В итоге остановились на такой "связке"...
import Storage from 'react-native-storage'
import AsyncStorage from '@react-native-async-storage/async-storage'
Делаем "хранилище"...
const storage = new Storage({
size: 1000,
storageBackend: AsyncStorage,
defaultExpires: null,
})
Теперь в него можно писать.
const data = 'данные'
storage.save({
key: 'test',
data,
expires: null
})
Читать немного геморнее
storage.load({
key: 'test',
})
.then(data => {
console.log('data', data)
})
.catch(err => {
console.log('err', err.message)
switch (err.name) {
case 'NotFoundError':
console.log('NotFoundError')
break;
case 'ExpiredError':
console.log('ExpiredError')
break;
default:
console.log('default', err.name)
}
})
Пока это все работает на всех трех "устройствах":
- браузер
- андроид
- айос