【发布时间】:2020-01-24 23:53:10
【问题描述】:
我正在将 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>
);
}
我想使用默认主题。我错过了什么吗?
【问题讨论】:
-
我从文档和示例中不完全清楚的是,如果有的话,您必须做什么才能使所有组件都可以使用默认主题。
标签: reactjs typescript material-ui