Я хотел бы знать, выполнимо ли то, чего я пытаюсь достичь, и если да, то я хотел бы узнать, что я делаю не так. Я использую библиотеку react-native-Threads для создания отдельного «потока». Внутри должна быть какая-то функция setInterval, которая проверяет текущее состояние приложения, скажем, каждые 20 секунд. Теперь внутри этой темы я пытался сделать что-то похожее на то, что было описано в лучшем ответе на этот вопрос: Как лучше всего получить доступ к хранилищу redux за пределами компонента реакции? Однако я использую redux-persist, поэтому я не иметь простую переменную store внутри конфигурационного файла магазина. Код для настройки магазина:
const rootReducer = combineReducers({
appState: appStateReducer,
entries: entriesReducer,
listHelper: listHelperReducer,
authenticate: authenticateReducer
})
const persistConfig = {
key: 'root',
storage,
stateReconciler: autoMergeLevel2,
blacklist: [ 'appState' , 'listHelper'],
whitelist: ['authenticate' , 'entries']
}
const pr = persistReducer(persistConfig, rootReducer)
const configureStore = () => {
const store = createStore(pr, devToolsEnhancer({ realtime: true, hostname: 'localhost', port: 8082 }))
const persistor = persistStore(store)
return { persistor, store }
}
export default configureStore
Я попытался импортировать configureStore из этого файла и получить доступ к такому состоянию внутри index.thread.js:
console.tron.log(configureStore().store.getState());
Однако это возвращает исходное состояние. Мне нужно текущее состояние, после регидратации. Кто-нибудь пробовал решить подобную проблему? Буду очень признателен за любые подсказки. Спасибо.
Изменить: вот файл index.js, в котором вызывается configureStore.
const store = configureStore();
const RNRedux = () => (
<Provider store={store.store}>
<PersistGate loading={<LoadingScreen />} persistor={store.persistor}>
<App />
</PersistGate>
</Provider>
);
AppRegistry.registerComponent("ProjectName", () => RNRedux);
configureStore()
, поэтому значения по умолчаниюconfigureStore()
. - person Niekert   schedule 17.09.2018configureStore
вы можете запустить анализ кода этой функции непосредственно на уровне модуля и напрямую экспортироватьstore
иpersistor
. - person Niekert   schedule 17.09.2018