This solutionSplitting big reducer into smaller reducersis not exactly to your question in grabbing the same state object.
here my solution that might be solvable:
export const mergeReducers = <TState>(...reducers: ActionReducer<TState>[]): ActionReducer<TState> => { return (state: TState, action: Action) => { if (reducers.length === 0) { throw new Error('At least one reducer is required'); } return reducers.reduce((initialState, reducer) => { return reducer(initialState, action); }, state); };};