Реагирует на провайдера контекста - не могу передать диспетчеризацию как функцию - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь использовать ловушки реакции и контекст для реализации ловушки useReducer.Все работает нормально, за исключением того, что функция отправки не определена в дочернем компоненте:

let initialState = {
  isLoading: false
};
let reducer = (state, action) => {
  switch (action.type) {
    case "show_loader":
      return { ...state, isLoading: true };
    default:
      return;
  }
};
const AppContext = createContext(initialState);

function AppProvider({ children }) {
  const { Provider } = AppContext;
  const [state, dispatch] = useReducer(reducer, initialState);
  const value = { state, dispatch };
  return <Provider value={value}>{children}</Provider>;
}
export { AppContext, AppProvider };

А затем в моем дочернем компоненте у меня есть следующее:

function NewFont(props){
    const {state, dispatch} = useContext(AppContext);
    console.log(state, dispatch)
    ....
}

Журнал дает мне {isLoading: false} для состояния, но функция отправки возвращается как undefined.Может кто-нибудь сказать мне, что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...