首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Theme.spacing不是一个函数

Theme.spacing不是一个函数
EN

Stack Overflow用户
提问于 2019-07-06 20:58:56
回答 2查看 8.1K关注 0票数 6

我最近将我的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不是函数

代码语言:javascript
代码运行次数:0
运行
复制
  17 |   },
  18 |   selectEmpty: {
> 19 |     marginTop: theme.spacing(2),
     |                      ^
  20 |   },
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-07 17:42:14

你必须用ThemeProvider包装每一个测试。这就解决了问题。示例:

代码语言:javascript
代码运行次数:0
运行
复制
    wrapper = mount(
      <ThemeProvider>
        <Dropdown handleSelect={handleSelectSpy} options={options} />
      </ThemeProvider>,
    );
票数 3
EN

Stack Overflow用户

发布于 2019-09-21 14:09:45

Material UI旧版本类似于从‘@material-ui/styles’导入{ makeStyles };

但是他们已经更新了新版本,比如从'@material-ui/core/styles‘导入{ makeStyles }

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56914305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档