Reactjs “如何修复”;styles$6.makeStyles不是一个函数;开玩笑的单元测试?

Reactjs “如何修复”;styles$6.makeStyles不是一个函数;开玩笑的单元测试?,reactjs,jestjs,material-ui,Reactjs,Jestjs,Material Ui,我在一个表单组件中工作,在这个表单中,我使用DateTimePicker和MuiPickersUtilsProvider来显示两个DateTime字段。一切都可以编译并正常运行,但在编写单元测试时,我遇到了一个编译错误: TypeError: styles$6.makeStyles is not a function 9 | import Tab from '@material-ui/core/Tab'; 10 | import DateFnsUtils fr

我在一个表单组件中工作,在这个表单中,我使用DateTimePicker和MuiPickersUtilsProvider来显示两个DateTime字段。一切都可以编译并正常运行,但在编写单元测试时,我遇到了一个编译错误:

    TypeError: styles$6.makeStyles is not a function

       9 | import Tab from '@material-ui/core/Tab';
      10 | import DateFnsUtils from '@date-io/date-fns';
    > 11 | import { DateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';
         | ^
      12 | 
      13 | import {
      14 |     inputProps,

为了解决这个问题,我创建了一个组件,并用
和styles(styles)
包装表单和其他需要的组件,但我还是遇到了同样的问题。在某个时候,a从项目中删除了对@material ui/选择器的所有引用,一切正常

这就是我试图解决问题的方法,我使用以下代码创建了一个包装器组件TestWrapperComponent:

import React from 'react';
import {createMuiTheme, MuiThemeProvider} from "@material-ui/core";
import Form from '../Form';

const Theme = createMuiTheme({...});

export default withStyles(styles)(class TestWrapperComponent extends React.Component {

    render() {
        return <StateProvider initialState={{
            displaySuccessMsg: false,
        }} reducer={reducer}>
            <MuiThemeProvider theme={Theme}>
                 <Form/>
            </MuiThemeProvider>
        </StateProvider>
    }
});

从“React”导入React;
从“@material ui/core”导入{createMuiTheme,MuiThemeProvider}”;
从“../Form”导入表单;
const Theme=createMuiTheme({…});
导出默认样式(样式)(TestWrapperComponent类扩展React.Component{
render(){
返回
}
});
表单组件名为Form


我原以为
withStyles(styles)
会解决这个问题,但我没有成功。我也在谷歌搜索过,没有找到任何有意义的东西。

只需更新到material ui/core v4即可