javascript - 迁移到 MaterialUI V4
问题描述
当我将 materialUI/core 和 materialUI/icons 分别从 3.9.3 升级到 4.4.1 和从 3.0.2 升级到 4.4.1 时。
我得到以下错误,
类型错误:styles_1.createGenerateClassName 不是函数
我正在从 @material-ui/core/styles 导入 createMuiTheme。我将如何解决这个问题?任何人都可以对此提出一些建议。请帮我。谢谢
import React, { Suspense, lazy } from 'react';
import { createStore, compose, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import { createBrowserHistory } from 'history';
import { routerMiddleware } from 'connected-react-router';
import createSagaMiddleware from 'redux-saga';
import { MuiThemeProvider } from '@material-ui/core/styles';
import analyticsMiddleware from './module/analytics/middleware';
import 'react-block-ui/style.css';
import muiTheme from './muiTheme';
import initialState from './store/initialState';
import rootReducer from './reducer';
import rootSaga from './saga';
import ErrorBoundary from './module/common/components/ErrorHandler';
const sagaMiddleware = createSagaMiddleware();
const history = createBrowserHistory();
const store = createStore(
rootReducer,
initialState,
compose(
applyMiddleware(sagaMiddleware, routerMiddleware(history), analyticsMiddleware),
window.devToolsExtension ? window.devToolsExtension() : f => f
)
);
sagaMiddleware.run(rootSaga);
const theme = muiTheme;
const App = () => (
<ErrorBoundary>
<Provider store={store}>
<MuiThemeProvider theme={theme}>
<div>
<Suspense fallback={<div>Loading...</div>}>
</Suspense>
</div>
</MuiThemeProvider>
</Provider>
</ErrorBoundary>
);
export default App;
这是我的 muiTheme.js 文件
import { createMuiTheme } from '@material-ui/core/styles';
const brandOrange = {
50: '#fbf1e5',
100: '#f6dcbe',
200: '#f0c493',
300: '#eaac68',
400: '#e69b47',
500: '#e18927',
600: '#dd8123',
700: '#d9761d',
800: '#d56c17',
900: '#cd590e',
A100: '#fffbf9',
A200: '#ffdac6',
A400: '#ffb993',
A700: '#ffa97a',
contrastDefaultColor: 'dark'
};
const brandBlue = {
50: '#e4ecf2',
100: '#bcd0de',
200: '#8fb1c8',
300: '#6291b2',
400: '#407aa2',
500: '#1e6291',
600: '#1a5a89',
700: '#16507e',
800: '#124674',
900: '#0a3462',
A100: '#95c2ff',
A200: '#62a5ff',
A400: '#2f88ff',
A700: '#157aff',
contrastDefaultColor: 'light'
};
解决方案
尝试将下面的代码行添加到引发错误的文件中:
import createGenerateClassName from 'material-ui/core/styles/createGenerateClassName
推荐阅读
- java - Eclipse 崩溃并出现引用计数错误消息 cairo_surface_destroy
- swift - 以编程方式创建表格视图单元格内容
- .net - 如何以编程方式在 Visual Studio 2019 中获取更改的代码行?
- javascript - 在 LocalStorage react js 上保存身份验证数据
- java - 如何运行作为地图上的值的 lambda 表达式
- xml - 用数据库变量分配 JMS 变量的问题
- objective-c - Coregraphics Private API 使用导致应用被拒绝?
- javascript - 在浏览器上比较时如何检查“↵”(新行)?
- azure - 阻止 RBAC 继承
- postgresql - 为什么不能更新设置更改数据类型 Postgres