в памяти телефона большие файлы (в нашем случае json) чтобы можно было в дальнейшем с ними работать из офлайна.
AsyncStorage для таких целей сразу отваливается, т.к. его лимита не хватит даже для одного такого файла.
Сценарий я представлял примерно следующий: в качестве общения с апи использую axios, через него обращаюсь к нужному мне апи, получаю json, далее этот json кладу в память устройства (json файлов будет много, поэтому их также надо будет както внутри разделяться по идентификатору). Если у пользователя отсутствует инет, то соответственно подгружаем данные не по axios а из памяти устройства.
Сейчас пытаюсь изучить плагин https://github.com/joltup/rn-fetch-blob но чтото пока сложно идет. Подскажите я вообще правильно смотрю или мне надо совсем в другую сторону двигаться?
Посмотри в сторону redux-offline
Альтернативный вариант - realm и в него redux-persist / redux-offline. realm чисто для скорости, asyncstorage всё-таки достаточно медленный, если нужно много данных писать/читать
Всё очень сильно зависит от структуры данных. Если данных много, но с простой структурой, где всё по ключу достается, то я бы смотрел в сторону кастомного стораджа в файловой системе (примерно как вы описали), сам традиционно для этих целей react-native-fs использую. Если же нужны сложные выборки/фильтрация, то смотрел бы в сторону sqlite, кидаться во всякие непроверенные технологии, обещающие золотые горы, типа realm не стал бы, а sqlite я очень хорошо знаю и понимаю что он может, а чего нет. (но это мои личные предпочтения)
Обсуждают сегодня