如何在 React Redux 中使用 combineReducers?并且 combineReducers 'sate' 对象到多个减少

How to work with combineReducer in ReactRedux? And combineReducers's 'sate' object to the multiple reduces

我最近开始致力于 React Web 开发应用程序,并开始在我的应用程序中使用 React redux saga。所以问题是我创建了两个 reduce reducer1reducer2 并使用了 combineReducers 但状态不是在我的 Component.

上发送回 propsToState

注意:如果我使用单个减速器,它工作正常

示例代码:

我的店铺

// create the saga middleware
const sagaMiddleware = createSagaMiddleware();

const rootReducers = combineReducers({reduce1, reducer2})

// create a redux store with our reducer above and middleware
let store = createStore(
  rootReducers,
  compose(applyMiddleware(sagaMiddleware))
);



// run the saga

function* rootSaga () {
  yield all([
      fork(saga1),
      fork(saga2),
  ]);
}

sagaMiddleware.run(rootSaga);

我的减速机

// reducer with initial state
const initialState = {
    p1: false,
    p2: null,
    p3: null
  };

  export function reducer1(state = initialState, action) {
    console.log(state);
    switch (action.type) {
      case ACTION1:
        return { ...state, p1: true, p3: null };
      case ACTION2:
        const lState = { ...state, p1: false, p2: action.data };
        return lState;
      default:
        return state;
    }
  }

注:和reduce2类似于reducer1

在我的组件上

const mapStateToProps = state => {
  return {
    loggining: state.loggining,
    user: state.user,
    error: state.error
  };
};

在获取映射到特定减速器的状态时,您缺少应该是减速器名称的键。

const mapStateToProps = state => {
  return {
    loggining: state.reducer1 .loggining, //add key reducer1
    user: state.reducer1 .user,
    error: state.reducer1.error
  };
};

请寻找更多