我最近将我的react应用程序从material-ui v3迁移到v4,并将‘@material-ui/v4/styles’替换为‘@material-ui/ enzyme.Tests’,用于测试我们使用了jest,migration.How之后enzyme.Tests失败。我能解决这个问题吗?错误如下:
警告: Material-UI:提供的styles
参数无效。您提供的函数在上下文中没有主题。其中一个父元素需要使用ThemeProvider。错误:未捕获TypeError: theme.spacing不是函数完整的DOM呈现>遇到声明异常TypeError: theme.spacing不是函数
17 | },
18 | selectEmpty: {
> 19 | marginTop: theme.spacing(2),
| ^
20 | },
发布于 2019-07-07 09:42:14
你必须用ThemeProvider包装每一个测试。这就解决了问题。示例:
wrapper = mount(
<ThemeProvider>
<Dropdown handleSelect={handleSelectSpy} options={options} />
</ThemeProvider>,
);
发布于 2019-09-21 06:09:45
Material UI旧版本类似于从‘@material-ui/styles’导入{ makeStyles };
但是他们已经更新了新版本,比如从'@material-ui/core/styles‘导入{ makeStyles }
https://stackoverflow.com/questions/56914305
复制