由于某些原因,我不能调用useStyles,因为它会出现以下错误:
This expression is not callable.
Type 'never' has no call signatures.ts(2349)
const useStyles: never
字符串
下面是完整的代码:
import { makeStyles, Theme } from "@material-ui/core";
import IconButton from "@material-ui/core/IconButton";
import AppBar from "@mui/material/AppBar";
import Toolbar from "@mui/material/Toolbar";
import { ReactComponent as HeaderLogo } from "../../images/logo.svg";
const useStyles = makeStyles((theme: Theme) => ({
root: {
backgroundColor: theme.palette.VampirismBlack.main,
}
}));
const Header = (): JSX.Element => {
const classes = useStyles();
return (
<AppBar position="static">
<Toolbar variant="dense">
<HeaderLogo width="125" height="75" />
<IconButton>
Home
</IconButton>
<IconButton>
Changelog
</IconButton>
<IconButton>
Tutorials
</IconButton>
<IconButton>
Wiki
</IconButton>
<IconButton>
Join Discord
</IconButton>
</Toolbar>
</AppBar>
)
}
export default Header;
型
我以前构建过几个不同的React应用程序,从来没有遇到过这个问题。
有什么想法吗?
6条答案
按热度按时间4nkexdtk1#
你可以通过从'@mui/styles'导入来解决它
字符串
cnh2zyt32#
在MU-V5上
1.使用npm npm install @mui/styles安装包//
//使用yarn添加@mui/styles
1.构建您的代码
字符串
这应该行得通,它对我很有效。
ldioqlga3#
问题是正在使用较新版本的Material-UI。
字符串
35g0bw714#
我相信
makeStyles
是从错误的包导入的。这
字符串
应该像
型
uinbv5nw5#
这在V5中已被弃用,Material-UI不建议使用材质UI的样式路径。相反,MUI希望您在CSS中依赖
sx
属性。希望这能帮助任何人。
当前推荐方式https://mui.com/system/basics/
字符串
这就是为什么:https://mui.com/system/styles/basics/#why-use-muis-styling-solution
有关
makeStyles
的信息,请参阅文档:@mui/styles(LEGACY)在他们的样式文档中:https://mui.com/system/styles/basics/的
@️ mui/styles是MUI的遗留样式解决方案。它依赖于JSS作为样式化解决方案,这在@mui/material中不再使用,在v5中被弃用。如果你不想同时拥有Emotion和JSS,请参考@mui/system文档,这是推荐的替代方案。
gmol16396#
我已经创建了这个钩子和作品,相当不错。
useStyles.ts
字符串
然后,你可以使用钩子:
型