Javascript 材质UI样式提供程序错误:类型错误:无法读取属性';初级';未定义的

Javascript 材质UI样式提供程序错误:类型错误:无法读取属性';初级';未定义的,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我试图在我的应用程序中使用根目录下的ThemeProvider,包含@material ui包中的一些组件,但我遇到了一些问题 使用本地定义的样式(不带主题特性)的其他组件渲染正常 沙箱: 以下是主题的创建方式: import React from "react"; import { createMuiTheme } from "@material-ui/core/styles"; import { ThemeProvider } from "@material-ui/styles"; imp

我试图在我的应用程序中使用根目录下的ThemeProvider,包含@material ui包中的一些组件,但我遇到了一些问题

使用本地定义的样式(不带主题特性)的其他组件渲染正常

沙箱:

以下是主题的创建方式:

import React from "react";
import { createMuiTheme } from "@material-ui/core/styles";
import { ThemeProvider } from "@material-ui/styles";
import { blue, white } from "@material-ui/core/colors";

function AppTheme(props) {
  const theme = createMuiTheme({
    palette: {
      primary: blue,
      text: white
    }
  });
  return <ThemeProvider theme={theme}>{props.children}</ThemeProvider>;
}

export default AppTheme;
从“React”导入React;
从“@material ui/core/styles”导入{createMuiTheme}”;
从“@material ui/styles”导入{ThemeProvider}”;
从“@material ui/core/colors”导入{blue,white}”;
功能应用主题(道具){
const theme=createMuiTheme({
调色板:{
初级:蓝色,
文字:白色
}
});
返回{props.children};
}
导出默认AppTheme;

我不确定你想用
文本:白色
实现什么,但这为你的主题创建了一个无效的结构
theme.palette.text
应该是对象而不是颜色,错误是由材质UI查找
theme.palette.text.primary
引起的

将AppTheme.js更改为以下内容可以解决此问题:

import React from "react";
import { createMuiTheme } from "@material-ui/core/styles";
import { ThemeProvider } from "@material-ui/styles";
import { blue } from "@material-ui/core/colors";

const theme = createMuiTheme({
  palette: {
    primary: blue
  }
});
function AppTheme(props) {
  return <ThemeProvider theme={theme}>{props.children}</ThemeProvider>;
}

export default AppTheme;
从“React”导入React;
从“@material ui/core/styles”导入{createMuiTheme}”;
从“@material ui/styles”导入{ThemeProvider}”;
从“@material ui/core/colors”导入{blue}”;
const theme=createMuiTheme({
调色板:{
初级:蓝色
}
});
功能应用主题(道具){
返回{props.children};
}
导出默认AppTheme;

我有另一个错误,已修复