You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React MUI v4自定义AppBar尺寸报Cannot find name 'classes' TS2304如何解决

错误原因及修复方案

TS2304报错的核心是你没有正确调用MUI v4的makeStyles能力生成可使用的classes对象,同时混淆了行内样式style和类名绑定className的用法,按以下步骤修改即可:

  • 将你定义的styles对象传入makeStyles,生成自定义样式钩子useStyles
  • 在Navbar组件内部调用useStyles(),拿到包含所有样式类名的classes对象
  • 给Toolbar绑定样式时使用className属性,而非style

修改后的完整代码如下:

import React from "react";
import { AppBar, Toolbar, Typography, Box, makeStyles } from '@material-ui/core';
import { Link } from "react-router-dom";
import './Navbar.css'

const useStyles = makeStyles({
    customizeToolbar: {
        minHeight: 36
    }
});

function Navbar(){
    const classes = useStyles();
    return(
        <AppBar position='sticky' >
            <Toolbar variant='dense' className={classes.customizeToolbar} >

            </Toolbar>
            
        </AppBar>
    )
}

export default Navbar;

TypeScript环境下makeStyles会自动推导样式的类型定义,无需额外声明即可直接使用,不会再抛出找不到classes的报错。

内容的提问来源于stack exchange,提问作者LDrof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:12:03