Для людей, которые все еще задаются вопросом, возможно ли использовать ответную нативную фоновую выборку для планирования ЛЮБОЙ задачи, это вполне нормально, если она не касается пользовательского интерфейса, например. (AsyncStorage, Redux-Persist, Realm, DB ...) не имеет прямого отношения к вызову изменений в пользовательском интерфейсе, поэтому его вполне можно использовать.
В моем конкретном случае я использую самый медленный параметр - AsyncStorage - для сохранения объекта типа реквизита, который я использую на глобальном уровне приложения, и передачи производных данных на мои компоненты:
// Example of HeadlessTask implementation
import BackgroundFetch from 'react-native-background-fetch'
import AsyncStorage from '@react-native-community/async-storage';
const HeadlessTask = async () => {
// Prepare data - fetching from API, other transformations...
let propsObject = {};
AsyncStorage.setItem(ITEM_KEY, JSON.strigify(propsObject))
.then(() => {
console.log('[AsyncStorage] Object Saved!');
// For iOS specifically we need to tell when the service job
// is done.
BackgroundFetch.finish();
})
.catch((e) => {
console.log('[AsyncStorage] Error saving object: ', e);
BackgroundFetch.finish();
});
}
P.S, См. https://github.com/transistorsoft/react-native-background-fetch, чтобы узнать, как установить и реализовать Background Fetch.