gpt4 book ai didi

reactjs - 使用 typescript 时属性 'theme' 不存在

转载 作者:行者123 更新时间:2023-12-03 22:44:27 28 4
gpt4 key购买 nike

我正在使用带有 material-ui v1.x beta 的 typescript 创建一个 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>
);
}

typescript :
(21,23): error TS2339: Property 'theme' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<MuiThemeProvider> & Readonly<{ children?: ReactNod...'.

最佳答案

对于在 2020 年遇到类似错误消息的任何人,我的问题是我从 @material-ui/styles 包中导入了 makeStyles。切换到首选的 @material-ui/core/styles 包为您提供正确的类型。

例如。改变:
import { makeStyles } from '@material-ui/styles';

import { makeStyles } from '@material-ui/core/styles';
this github issue讨论首选进口。我相信前者是在 MUI 3 中引入的,作为他们正在进行的某些样式转换的临时垫片。

关于reactjs - 使用 typescript 时属性 'theme' 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909258/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com