问题描述
我已经使用React和Redux模板创建了一个新的.NET Core Web应用程序。一切正常,但当我在ClientApp文件夹中安装Material-UI库(具有react项目的人)并从该库导入组件时,该应用会引发下一个错误:
Config config = new Config();
config.useSingleServer().setAddress("redis://" + redisProperties.getHost() + ":" + redisProperties.getPort());
RedissonClient redisson = Redisson.create(config);
redisson.getKeys().flushdb();
redisson.shutdown();
我的package.json看起来像这样:
TypeError: __WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext is not a function
我要从中导入Material UI Button的组件如下所示:
{
"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"
}
}
为什么会发生这种情况,我该怎么解决?
解决方法
您需要更新React。对于Material UI 4.11,v16.0.0太旧了。您应该将React和React DOM至少更新为16.8.0:
npm update react react-dom
确保稍后重新启动应用程序,以便Webpack可以重新捆绑新版本。