首页 > 解决方案 > 使用 Axios 请求从服务器加载 Redux Store

问题描述

我想使用服务器会话来保存我的 redux 存储,为此我实现了一个转换器来加载数据并使用 Axios 执行请求以从服务器获取会话数据并将它们放入 Redux

const SetTransform = createTransform(
  // transform state on its way to being serialized and persisted.
  (inboundState, key) => {
    // convert mySet to an Array.

    return { ...inboundState};
  },
  // transform state being rehydrated
  (outboundState, key) => {
    // convert mySet back to a Set.
    let state=null
    let x=1;
    let test= getUserSession().then(result=>{
        console.log(result);
        state= {...outboundState, ...result.data.user,isLoggedIn:result.data.isConnected}
        console.log(state)
        x=0
        return state;
    })

  }
  // define which reducers this transform gets called for.
);

我在 Persist Config 中添加了变压器

const persistConfig = {
  transforms: [SetTransform],
  key: 'root',
  storage: storage,
  stateReconciler: autoMergeLevel2 // see "Merge Process" section for details.
 };

但我得到的错误是加载状态未定义,因为请求是异步的,并且补水功能不会等到请求完成

那么是否有任何其他实现可以使我的商店从用户会话中加载以及如何做到这一点?谢谢

标签: reactjsreduxredux-persist

解决方案


推荐阅读