小编Thi*_*ert的帖子

组合来自 2 个不同项目的 2 个 redux 存储

首先,我是 React 和 Redux 的初学者。

我正在尝试将组件从一个项目转移到另一个项目。我将一个项目制作为 npm 包,这样我就可以直接从该项目导入。问题是我在我的主项目中使用了一个商店,并且我的 npm 包也使用了一个商店。这会导致状态未定义,因为我只向提供商提供一个商店。

这是我的主项目中的 index.js,我知道你不能有 2 个 Provider,但我想指出我正在寻找具有两个商店的功能:

import { guiReducer, intlInitialState } from 'second-project';
const secondStore = createStore(guiReducer, intlInitialState);
const store = configureStore();

render(
<Provider store={store}>
 <Provider store={secondStore}
  <Router>
   <App />
  </Router>
 </Provider>
</Provider>
Run Code Online (Sandbox Code Playgroud)

这是configureStore.js:

import rootReducer from '../reducers';

function configureStoreProd(initialState){
 return createStore(
  rootReducer,
  initialState,
  applyMiddleware(thunk)
  );
}

const configureStore =
  process.env.NODE_ENV === 'production' ? configureStoreProd : configureStoreDev;


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

rootReducer 是来自主项目的组合减速器,guiReducer 是来自第二个项目的组合减速器。rootReducer 的示例代码(与 guiReducer 类似):

const appReducer = combineReducers({
 loggedIn, …
Run Code Online (Sandbox Code Playgroud)

reactjs redux react-redux

5
推荐指数
1
解决办法
2390
查看次数

标签 统计

react-redux ×1

reactjs ×1

redux ×1