不能在 Visual Studio C# ASP NET 中的 React 应用程序上使用 Material-UI 核心 Web 应用程序



我用React和Redux模板创建了一个新的.NET Core web应用程序。一切都很好,只是当我在ClientApp文件夹(拥有react项目的文件夹(中安装Material UI库并从库中导入组件时,应用程序会抛出下一个错误:

TypeError: __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext is not a function

我的包.json看起来像这样:

{
"name": "Evento",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^4.11.0",
"bootstrap": "^3.4.1",
"react": "^16.0.0",
"react-bootstrap": "^0.31.5",
"react-dom": "^16.0.0",
"react-redux": "^5.0.6",
"react-router-bootstrap": "^0.24.4",
"react-router-dom": "^4.2.2",
"react-router-redux": "^5.0.0-alpha.8",
"react-scripts": "1.0.17",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0",
"rimraf": "^2.6.2"
},
"scripts": {
"start": "rimraf ./build && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}

我想从中导入材料UI按钮的组件如下所示:

import React, { Component } from 'react';
import { Button } from '@material-ui/core';
export default class Main extends Component {
render() {
return (
<div>Hello world!</div>
);
}
}

为什么会发生这种情况,我能做些什么来解决它?

您需要更新React。v16.0.0对于Material UI 4.11来说太旧了。您应该将React和React DOM至少更新到16.8.0:

npm update react react-dom

确保之后重新启动应用程序,以便Webpack可以重新绑定新版本。

最新更新