我已经在我的应用程序中插入了 redux-persist。当应用程序被杀死后重新启动时,我想做的第一个想法是在重新水化的商店中获取我的身份验证令牌并检查令牌是否仍然有效。
我正在努力寻找做到这一点的好策略。作为第一个直觉,我会尝试在 componentDidMount 方法的根 App 组件中执行此操作。这是我的组件:
export default class App extends React.Component {
componentDidMount(){
console.log('in app componentDidmount')
console.log(store.getState())
console.log(persistor.getState())
}
render() {
return (
<Provider store={store}>
<PersistGate persistor={persistor}>
<Router />
</PersistGate>
</Provider>
);
}
}
但是store.getState()
给了我非再水合状态并persistor.getState()
给了我一个不可用的对象:
{ bootstrapped: false, registry: ["root"] }
这也是我的store.js
文件:
const persistConfig = {
key: 'root',
storage: AsyncStorage,
stateReconciler: autoMergeLevel2, // see "Merge Process" section for details.
blacklist: ['error', 'loading', 'backgroundImage'],
};
const pReducer = persistReducer(persistConfig, reducers);
export const store = createStore(pReducer, {}, compose(applyMiddleware(ReduxThunk)));
export const persistor = persistStore(store);
我怎样才能做到这一点?