请原谅我可能很简单的问题:-)
只是想知道为什么示例使用className和class,例如:
<Drawer
variant="permanent"
className={clsx(classes.drawer, {
[classes.drawerOpen]: open,
[classes.drawerClose]: !open,
})}
classes={{
paper: clsx({
[classes.drawerOpen]: open,
[classes.drawerClose]: !open,
}),
}}
open={open}
>
预先感谢您的帮助。
欢呼
答案 0 :(得分:0)
className
等于React中的class
(如HTML)。因为我们在.js文件中编写Everting,所以class是保留关键字,因此React的创建者将其称为className
。
classes
是包含样式的对象。
您可以如下定义类。
例子;
// Banner.js
import React from 'react'
import { makeStyles } from '@material-ui/core/styles'
import { Box, Button } from '@material-ui/core/'
const useStyles = makeStyles({
bannerBackground: {
width: "100%",
height: 300,
backgroundColor: "green"
}
})
export default function Banner() {
const classes = useStyles()
return (
<Box className={classes.bannerBackground}>
<Button variant='contained' color='primary'>
Start a project
</Button>
</Box>
)
}
React编译代码时,它将了解您使用的是哪种样式,因为您传递了包含样式的classes.bannerBackground
对象。