首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Material不承认theme.spacing函数?

为什么Material不承认theme.spacing函数?
EN

Stack Overflow用户
提问于 2019-02-09 18:30:09
回答 9查看 29.1K关注 0票数 14

描述

我试图在一个function应用程序中使用Material的theme.spacing函数,但是间隔函数没有被识别。

Javascript错误消息是:TypeError: theme.spacing不是函数

我不确定这是否是一个bug,或者我安装的框架版本有问题。

上下文

根据package-lock.json文件,这些是正在安装的框架版本:

  • 材料-用户界面: v3.9.2
  • 反应: v16.8.1
  • 铬: v72.0.3626.96
  • TypeScript:无
  • 创建-react app: v3.2.2
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2019-02-09 19:11:37

事实上,这毕竟是由请求#14099引起的一个bug。

解决方案正在进行中,所以我要结束这个问题。

票数 8
EN

Stack Overflow用户

发布于 2021-11-10 14:09:26

对于实质性ui版本5.1.0,以下内容对我有效(如@Worm所说)

  • 导入像这样的造型
代码语言:javascript
复制
import { makeStyles } from '@mui/styles';

记住安装@mui/styles

如果你收到这样的警告

代码语言:javascript
复制
MUI: The `styles` argument provided is invalid.
You are providing a function without a theme in the context.
One of the parent elements needs to use a ThemeProvider.
MUI: The `styles` argument provided is invalid.
You are providing a function without a theme in the context.
One of the parent elements needs to use a ThemeProvider.

用ThemeProvider包装父容器

代码语言:javascript
复制
export default ParentComponentName = (props)=>{
return(
   <ThemeProvider theme={theme}>
      <SomeThemeComponent>
        <SomeComponent />
      </SomeThemeComponent>
    <ThemeProvider>
)
}

参考文献

https://mui.com/styles/api/#examples-4

PS:张贴作为新的答案,因为我不能评论,因为信贷限额。

票数 5
EN

Stack Overflow用户

发布于 2019-09-21 06:15:08

尝尝这个。

代码语言:javascript
复制
import { makeStyles } from '@material-ui/core/styles' 
const userStyles = makeStyles (theme => ({
gridAlign : {
    padding: theme.spacing(2),
    textAlign: 'center',
    color: theme.palette.secondary,
  },
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54609338

复制
相关文章

相似问题

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