一旦应用加载到正确的组件中,我就试图从商店中获取一条数据。
我在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);
});
}, []);
};
在模拟器(iPhone X)以及实际设备上会触发alert()
“ useEffect已触发”。
第二个alert()
“已触发订阅”在模拟器中正确触发,但在实际设备上不触发。
我的store.js
:
const persistConfig = {
key: 'root',
storage: AsyncStorage,
whitelist: [
'userReducer',
]
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
const store = createStore(
persistedReducer,
);
const persistor = persistStore(store);
export {
store,
persistor,
}
答案 0 :(得分:0)
当将Redux存储在我的设备上时,显然存在一些问题。我已通过完全删除Redux并直接使用AsyncStorage来解决了该问题。