首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux工具包迁移

Redux工具包迁移
EN

Stack Overflow用户
提问于 2021-05-19 16:59:34
回答 1查看 821关注 0票数 0

我想用redux、redux和redux将我的应用程序迁移到reduxToolkit,但是我不知道如何使用我的初始配置,这里是我的代码:

代码语言:javascript
复制
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;

export default function getConfiguredStore(initialState, config) {
  const rootReducer = combineReducers(reducers);
  const persistedReducer = persistReducer(persistConfig, rootReducer);
  let appReducer = rootReducer;
  if (config.usePersist) {
    appReducer = persistedReducer;
  }
  const rootAppReducer = authReducer(appReducer);

  const store = createStore(
      rootAppReducer,
      initialState,
      composeEnhancers(
          applyMiddleware(
              multiClientMiddleware(axiosConfig),
              thunkMiddleware,
              authMiddleware( ),
              createLogger( true ),
          )
      ),
  );
  const persistor = persistStore(store, null, () => {
    if (config.useLogger) {
      console.log('REHYDRATED');
    }
  });
  //persistor.purge() //TO clean state.

  return {store, persistor};
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-19 17:22:13

Redux文档中的“使用Redux工具包的现代Redux”教程页面展示了如何迁移现有的Redux逻辑以使用RTK。总结:

  • 用调用configureStore()替换现有的存储设置逻辑
  • 选择一个减速器及其相关动作。用createSlice代替。根据需要重复一遍。

在您的示例中,关键部分是切换const store = createStore()部件以实现以下目的:

代码语言:javascript
复制
  const store = configureStore({
    reducer: rootAppReducer,
    preloadedState: initialState,
    middleware: getDefaultMiddleware => {
      return getDefaultMiddleware()
        .prepend(multiClientMiddleware(axiosConfig))
        .concat(authMiddleware, createLogger( true ));
    })
  });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67607688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档