我正在将Material-UI(v4.4.3)集成到React(v16.9.2)TypeScript(v3.6.3)网站中。使用示例AppBar组件示例https://material-ui.com/components/app-bar/和TypeScript指南https://material-ui.com/guides/typescript/#typescript,我具有以下功能组件。
但是,我在这行上收到 useStyles()的TS错误
const classes = useStyles();
(TS):预期有一个参数,但为0。
import * as React from 'react';
import { createStyles, Theme, makeStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import IconButton from '@material-ui/core/IconButton';
import MenuIcon from '@material-ui/icons/Menu';
const useStyles = makeStyles(({ spacing }: Theme) =>
createStyles({
root: {
flexGrow: 1,
},
menuButton: {
marginRight: spacing(2),
},
title: {
flexGrow: 1,
},
}),
);
export default function ButtonAppBar() {
const classes = useStyles();
return (
<div className={classes.root}>
<AppBar position="static">
<Toolbar>
<IconButton edge="start" className={classes.menuButton} color="inherit" aria-label="menu">
<MenuIcon />
</IconButton>
<Typography variant="h6" className={classes.title}>
MSC
</Typography>
<Button color="inherit">Login</Button>
)}
</Toolbar>
</AppBar>
</div>
);
}
我想使用默认主题。我想念什么吗?
答案 0 :(得分:1)
尝试传递一个空对象:
const classes = useStyles({});
答案 1 :(得分:0)
尝试使用:
中的组件import AppBar from "@material-ui/core/AppBar"
import XXX from "@material-ui/core/xxx"
XXX =其他组件
请注意,我的依赖项是:
"@material-ui/core": "^4.9.14"
"@types/material-ui": "^0.21.7"
不要忘记在项目中导入@types/material-ui
devDependencies。