我正在尝试访问redux存储,而redux仍在为我的本机应用程序提供服务。
我需要一个特定的令牌来设置websocket连接。
到目前为止,我的代码:
./ redux / Store.js:
const persistedReducer = combineReducers({
tokens: persistReducer(secureConfig, TokensReducer),
});
const store = createStore(persistedReducer);
const configureStore = () => {
const persistor = persistStore(store);
return { persistor, store };
};
export default configureStore;
./ redux / reducers / TokenReducer
const initialState = {
accessToken: null,
refreshToken: null
}
const TokensReducer = (state = initialState, action) {
// reducer
};
export default TokensReducer;
./ service / websocket.js
import configureStore from '../redux/Store';
const { store } = configureStore();
console.log(store.getState().tokens);
问题是,我没有获取持久性内容,但我正在获取初始状态(accessToken = null,refreshToken = null)。
当我从应用程序内部(和中的组件内部)访问商店时,我得到了正确的值。
编辑:
当我将console.log封装在setTimeout()中(例如1秒钟)时,它可以工作!因此它是异步的,但是如何创建我的代码来等待它而不使用setTimeout?