为什么Material-UI无法识别theme.spacing功能?

时间:2019-02-09 18:30:09

标签: javascript reactjs material-ui

说明

我正在尝试在React应用程序中使用Material-UI的 theme.spacing 功能,但无法识别 spacing 功能。

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

我不确定这是错误还是安装的框架版本有问题。


上下文

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

  • 材料界面:v3.9.2
  • 反应:v16.8.1
  • Chrome浏览器:v72.0.3626.96
  • TypeScript:无
  • create-react-app:v3.2.2

6 个答案:

答案 0 :(得分:2)

好吧,事实证明这毕竟是一个错误,由request #14099引起。

现在正在解决问题,所以我要解决这个问题。

答案 1 :(得分:1)

尝试一下。

import { makeStyles } from '@material-ui/core/styles' 
const userStyles = makeStyles (theme => ({
gridAlign : {
    padding: theme.spacing(2),
    textAlign: 'center',
    color: theme.palette.secondary,
  },
})

答案 2 :(得分:1)

只需做另一种方式:

const theme = createMuiTheme({
  status: {
    danger: orange[500],
  },
});

export default function CustomStyles() {
  return (
    <ThemeProvider theme={theme}>
      <CustomCheckbox />
    </ThemeProvider>
  );
}

答案 3 :(得分:1)

之前:import { makeStyles } from '@material-ui/core'; 会起作用。

但现在在最新的 Material UI 版本中,我们需要添加以下导入:

import { makeStyles } from '@material-ui/core/styles';

答案 4 :(得分:0)

尝试将@ material-ui / core软件包升级到最低版本4.0.0。
运行 npm i @ material-ui / core @ 4.0.0
它解决了我的问题。

答案 5 :(得分:0)

添加导入使错误消失:

import {makeStyles} from "@material-ui/**core**/styles";