TypeError: react__WEBPACK_IMPORTED_MODULE_0___default(...) is not a function

TypeError: react__WEBPACK_IMPORTED_MODULE_0___default(...) is not a function

我正在使用 React 中的上下文 API 制作待办事项应用程序。在启动开发服务器时,它会抛出错误:

TypeError: react__WEBPACK_IMPORTED_MODULE_0___default(...) 不是函数

我是 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;

我正在为 reactreact-dom

使用 ^16.3.1

在您的 TodoContext.js 中,您错误地导入了 createContext。而不是

import createContext from 'react';

你应该使用

import { createContext } from 'react';

用方括号导入 createContext 这样 React 就知道你正在使用函数而不是整个函数。这样你就可以实际导出函数了。这是您的代码中出现错误的地方。如果你不这样做,那么 React 就不会认为 createContext 是一个函数。