【发布时间】:2020-05-21 22:18:52
【问题描述】:
我有一个界面
interface ThemeBase {
colors: {
[key: string]: Color;
};
borderRadius: {
base: string;
mobile: string;
};
navbar: {
'z-index': number;
};
typography: {
rootBase: string;
fontBase: string;
};
}
我想用这个界面扩展 MUI 主题。 这个解决方案对我有用:
declare module '@material-ui/core/styles/createMuiTheme' {
interface Theme extends ThemeBase {}
// allow configuration using `createMuiTheme`
interface ThemeOptions extends ThemeBase {}
}
但是我有一个来自 eslint 的错误
error 一个声明没有成员的接口等价于它的 超类型@typescript-eslint/no-empty-interface
如何在没有 Theme 和 ThemeOptions 代码重复的情况下解决此问题
【问题讨论】:
-
type Theme = ThemeBase也许? -
不,这在常见情况下有效,但不适用于 Material UI (
-
你真的试过了吗?根据应该工作的规范(没有可用的游乐场)
-
是的,我现在正在尝试创建一个游乐场
标签: javascript reactjs typescript material-ui eslint