访问 redux 在组件外部持久化

yes*_*day 5 react-native redux-persist

我正在尝试使用 redux 持久保存在我的 React Native 应用程序的服务中来访问 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;
Run Code Online (Sandbox Code Playgroud)

./redux/reducers/TokenReducer

const initialState = {
  accessToken: null,
  refreshToken: null
}

const TokensReducer = (state = initialState, action) {
// reducer
};

export default TokensReducer;
Run Code Online (Sandbox Code Playgroud)

./service/websocket.js

import configureStore from '../redux/Store';

const { store } = configureStore();

console.log(store.getState().tokens);
Run Code Online (Sandbox Code Playgroud)

问题是,我没有获得持久内容,但获得了初始状态(accessToken = null,refreshToken = null)。

当我从应用程序内部(在 和 内的组件内部)访问商店时,我得到了正确的值。

编辑:

当我将 console.log 包装在 setTimeout() 中(比如说 1 秒)时,它起作用了!所以它是异步的,但是我如何创建代码来等待它而不使用 setTimeout ?