我正在使用打字稿和material-ui v1.x測試版創建ReactJS初學者項目。使用打字稿時,不存在「主題」屬性
主題解釋在:https://material-ui-1dab0.firebaseapp.com/customization/themes/ 不起作用。 Typescript抱怨屬性「主題」不存在。我一直在用@ types/material-ui中的index.d.ts來替換接口'muiTheme'到'theme',這會導致很多其他錯誤。
當使用'muiTheme'屬性代替錯誤消失時,但只使用默認顏色表示我的自定義主題根本沒有使用。
我的代碼:
import * as React from 'react';
import { MuiThemeProvider } from 'material-ui/styles';
import createMuiTheme from 'material-ui/styles/theme';
import createPalette from 'material-ui/styles/palette';
import { teal, bluegrey, red } from 'material-ui/colors';
import Button from 'material-ui/Button';
const theme: any = createMuiTheme({
palette: createPalette({
primary: teal, // Purple and green play nicely together.
accent: {
...bluegrey,
A400: '#00e677',
},
error: red,
}),
});
function Palette() {
return (
<MuiThemeProvider theme={theme}>
<div>
<Button color="primary">
{'Primary'}
</Button>
<Button color="accent">
{'Accent'}
</Button>
</div>
</MuiThemeProvider>
);
}
打字稿:
(21,23): error TS2339: Property 'theme' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<MuiThemeProvider> & Readonly<{ children?: ReactNod...'.
請注意確定它出錯的地方,但我從頭開始遵循Material-UI網站的示例,現在一切正常。正如mjwrazor提到的,不再需要爲material-ui安裝@types。 –
你正在拯救我的生命!從項目開始,我一直在努力嘗試重複的類型。刪除'@ types'解決了編譯和編輯器問題。乾杯! – SirWojtek