从 MUI v4 迁移到 v5:无法声明模块"@mui/styles/defaultTheme"



我试图按照Material-U的说明从MUI v4迁移到MUI v5,但遇到了故障排除问题属性"面板", "spacing"类型'DefaultTheme '不存在

我正在遵循这里列出的故障排除建议,并将以下代码添加到我的主题中。tsx文件:

import { Theme } from '@mui/material/styles';
declare module '@mui/styles/defaultTheme' {
interface DefaultTheme extends Theme {}
}

但是在theme.tsx中的declare module "@mui/styles/defaultTheme行得到以下错误:

Invalid module name in augmentation, module '@mui/styles/defaultTheme' cannot be found.ts(2664)
module "@mui/styles/defaultTheme"

如果我将该代码片段包含在App.tsx中,则不会抛出相同的错误,但将其包含在App.tsx中不会沉默Property "palette","spacing" does not exist on type 'DefaultTheme错误。

我怎样才能a)避免theme.tsx中增强错误中的无效模块名称或b)以不同的方式克服does not exist on type DefaultTheme错误?

您甚至可能不需要这些行。只有在同时使用@mui/styles@mui/material时,才需要增加模块。一旦您在应用程序中删除了@mui/styles的所有导入语句,就会出现错误。https://mui.com/material-ui/migration/v5-style-changes/% E2 % 9 c % 85 -添加-模块-增加- - defaulttheme打印稿