Javascript Redux存储订阅未启动
我试图在应用加载到正确的组件后从应用商店获取一段数据 我正在Javascript Redux存储订阅未启动,javascript,react-native,redux,react-redux,Javascript,React Native,Redux,React Redux,我试图在应用加载到正确的组件后从应用商店获取一段数据 我正在App.js中使用以下代码: const App: () => React$Node = () => { const [verified, setVerified] = useState(false); useEffect(() => { alert('useEffect fired'); store.subscribe(() => { a
App.js
中使用以下代码:
const App: () => React$Node = () => {
const [verified, setVerified] = useState(false);
useEffect(() => {
alert('useEffect fired');
store.subscribe(() => {
alert('Subscribe fired: ' + store.getState().userReducer.phoneVerified);
setVerified(store.getState().userReducer.phoneVerified);
});
}, []);
};
const persistConfig = {
key: 'root',
storage: AsyncStorage,
whitelist: [
'userReducer',
]
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
const store = createStore(
persistedReducer,
);
const persistor = persistStore(store);
export {
store,
persistor,
}
alert()
“Useffect fired”会在模拟器(iPhone X)和实际设备上触发
第二个警报()
“Subscribe fired”在模拟器中正确触发,但不会在实际设备上触发
Mystore.js
:
const App: () => React$Node = () => {
const [verified, setVerified] = useState(false);
useEffect(() => {
alert('useEffect fired');
store.subscribe(() => {
alert('Subscribe fired: ' + store.getState().userReducer.phoneVerified);
setVerified(store.getState().userReducer.phoneVerified);
});
}, []);
};
const persistConfig = {
key: 'root',
storage: AsyncStorage,
whitelist: [
'userReducer',
]
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
const store = createStore(
persistedReducer,
);
const persistor = persistStore(store);
export {
store,
persistor,
}
显然,Redux在我的设备上存储时存在一些问题。我通过完全删除Redux并直接使用AsyncStorage解决了这个问题