Ошибка типа: response__WEBPACK_IMPORTED_MODULE_0 ___ default (...) не является функцией - PullRequest
1 голос
/ 23 апреля 2020

Я делаю приложение To-do, используя Context API в React. При запуске сервера разработки он выдает ошибку:

TypeError: реагировать__WEBPACK_IMPORTED_MODULE_0 ___ по умолчанию (...) не является функцией enter image description here

Я новичок в React и не могу найти никаких возможных причин возникновения этой проблемы. Вот мой App.js:

import React, {useReducer} from 'react';
import Container from "reactstrap/lib/Container";
import "bootstrap/dist/css/bootstrap.min.css";
import './App.css';

import {TodoContext} from './Context/TodoContext';
import todoReducer from "./Context/reducer";

const App = () => {
  const [todo, dispatch] = useReducer(todoReducer, [])
  return(
    <TodoContext.Provider value={{todo, dispatch}}>
      <Container fluid>
        <h1>
          Todo App with Context API
        </h1>
      </Container>
    </TodoContext.Provider>
  )
}

export default App;

Я использую ^16.3.1 для react и react-dom

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

В вашем TodoContext.js вы неправильно импортировали createContext. Вместо

import createContext from 'react';

вы должны использовать

import { createContext } from 'react';
1 голос
/ 23 апреля 2020

Импорт createContext в скобках, чтобы React знал, что вы берете на себя функцию вместо всего этого. Таким образом, вы можете экспортировать функцию. Вот где выскочила ошибка в вашем коде. Если вы этого не сделаете, то React не подумает, что createContext - это функция.

...