React Material UI:Appbar 给出了 TypeError: Cannot read properties of undefined (reading '100')

Posted

技术标签:

【中文标题】React Material UI:Appbar 给出了 TypeError: Cannot read properties of undefined (reading \'100\')【英文标题】:React Material UI: Appbar gave TypeError: Cannot read properties of undefined (reading '100')React Material UI:Appbar 给出了 TypeError: Cannot read properties of undefined (reading '100') 【发布时间】:2021-12-05 05:59:05 【问题描述】:

我正在制作一个使用 Material UI 组件的多步骤表单。但是在我导入它的那一刻,它显示错误。 代码是:

import React from 'react';
import  ThemeProvider  from '@mui/material/styles';
import AppBar from '@mui/material/AppBar';
import Toolbar from '@mui/material/Toolbar';
import Typography from '@mui/material/Typography';

function FormUserDetails( nextstep, values ) 

    const proceed = (e) => 
        e.preventDefault();
        nextstep();
    
    return (
        <ThemeProvider>
            <React.Fragment>
                <AppBar position="static">
                    <Toolbar>
                        <Typography variant="h6" component="div" sx= flexGrow: 1 >
                            News
                        </Typography>
                    </Toolbar>
                </AppBar>
            </React.Fragment>
        </ThemeProvider>
    )


export default FormUserDetails

现在错误如下所示: `

TypeError:无法读取未定义的属性(读取“100”) (匿名函数)C:/Users/edkni/Documents/projects/multi-step form/state_form/node_modules/@mui/material/AppBar/AppBar.js:40 37 |主题, 38 |所有者状态 39 | ) => 40 | const backgroundColorDefault = theme.palette.mode === 'light' ?主题.调色板.灰色[100]:主题.调色板.灰色[900]; 41 |返回_扩展( 42 |显示:'弹性', 43 | flexDirection: 'column',查看编译后的transformStyleArg C:/Users/edkni/Documents/projects/multi-step form/state_form/node_modules/@mui/system/esm/createStyled.js:175 172 | = _ref2, 173 |其他 = _objectWithoutPropertiesLoose(_ref2, _excluded3); 174 | 175 |返回 styleArg(_extends( 176 |主题:isEmpty(主题输入)?默认主题:主题输入 177 | , 其他)); 178 | ;

我不知道那是什么意思。如果有人可以回答,那将是很大的帮助。提前谢谢你。

【问题讨论】:

【参考方案1】:

基于MUI 文档:

如果你想自定义主题,你需要使用 ThemeProvider 组件,以便将主题注入您的应用程序。

所以ThemeProvider 组件中的theme 属性是必需的。你应该给它注入一个theme

import React from "react";
import  createTheme, ThemeProvider  from "@mui/material/styles";
import AppBar from "@mui/material/AppBar";
import Toolbar from "@mui/material/Toolbar";
import Typography from "@mui/material/Typography";
import  orange  from "@mui/material/colors";

function FormUserDetails( nextstep, values ) 
  // const proceed = (e) => 
  //   e.preventDefault();
  //   nextstep();
  // ;

  const theme = createTheme(
    palette: 
      primary: 
        main: orange[500]
      
    
  );

  return (
    <ThemeProvider theme=theme>
      <AppBar position="static">
        <Toolbar>
          <Typography variant="h6" component="div" sx= flexGrow: 1 >
            News
          </Typography>
        </Toolbar>
      </AppBar>
    </ThemeProvider>
  );


export default function App() 
  return <FormUserDetails />;

【讨论】:

谢谢你,这真的有效。从这种偏好来看,我认为也发生了很多变化。你认为我应该从哪里开始掌握所有的变化? @SunilShah 随时!试试看这个链接:***.com/questions/69219552/…

以上是关于React Material UI:Appbar 给出了 TypeError: Cannot read properties of undefined (reading '100')的主要内容,如果未能解决你的问题,请参考以下文章

Material-ui AppBar。滚动时更改颜色。反应

如何更改 Material-UI AppBar 的明暗主题颜色?

如何覆盖(覆盖)material-ui(React)中的类和样式

Material UI - 在 AppBar 点击打开 LeftNav / Drawer

如何更改 React Material-ui Drawer 菜单项间距?

Material ui appbar 在移动设备上不会缩小