【发布时间】:2021-12-03 13:04:22
【问题描述】:
我正在尝试将我的组件从 MUI v4 迁移到 v5,但我已经到了不知道如何迁移我的 makeStyles 组件的地步。
以前,我有这样的工作:
const useStyles = makeStyles((theme: Theme) => ({
paper: {
padding: theme.spacing(2),
someMore: 'styles'
}
}));
// ...
const Component: FC = () => {
const theme = useTheme();
const classes = useStyles(theme);
return (
<Paper elevation={3} className={classes.paper}>
<Stuff />
</Paper>
)
}
现在我在useStyles 调用时遇到错误:
此表达式不可调用。 类型 'never' 没有调用签名。ts(2349)
在这种情况下,解决方法是什么?
【问题讨论】:
-
你能 fork thiscodesandbox 并重新创建错误吗?
-
我已经看到了一些差异。我正在从
@mui/material导入makeStyles和useTheme。我还在根目录下看到了StyledEngineProvider。我正在使用ThemeProvider。有区别吗?我应该使用哪个?
标签: reactjs typescript material-ui jss