Как объединить несколько редукторов в React, используя Context API - PullRequest
0 голосов
/ 31 марта 2020

Работает над приложением React, где у меня есть некоторое глобальное состояние, определенное в настоящее время с одним редуктором, но я хотел бы представить несколько редукторов, поскольку приложение довольно большое, поэтому было бы проще и приятнее организовать состояние на нескольких редукторах!

В настоящее время у меня есть:

import { StoreProvider } from './store'
const app = (
  <StoreProvider>
    <App />
  </StoreProvider>
)

store выглядит следующим образом:

import React, { useReducer, createContext } from 'react'
import { ApplicantState } from './interfaces/ApplicantState'
import applicantReducer from './modules/Applicant/ApplicantReducer'

const initialState: ApplicantState = {
  applicants: [],
  total: 0,
}

export const GlobalStore = createContext<ApplicantState | any>(initialState)
export const StoreProvider = ({ children }: JSX.ElementChildrenAttribute): JSX.Element => {
  const [state, dispatch] = useReducer(applicantReducer, initialState)
  return <GlobalStore.Provider value={{ state, dispatch }}>{children}</GlobalStore.Provider>
}

Я хотел бы иметь другой редуктор, для бывшего userReducer, как бы я это сделал, чтобы я мог вызвать диспетчер для нескольких редукторы, или я должен использовать разные контексты для каждого редуктора? Есть идеи, как с этим справиться?

Ценю много примеров.

...