【发布时间】:2020-06-01 02:23:49
【问题描述】:
有几种方法可以在 Material-UI 中进行样式设置。
- 使用
makeStyles:
import Box from '@material-ui/core/Box'
const useStyles = makeStyles(theme => ({
testStyled: (props: isBoolean) => ({
width: props ? '1px' : '2px',
})
}))
<Box className={useStyles(true).root}></Box>
- 使用
MuiBoxProps:
import Box, { MuiBoxProps } from '@material-ui/core/Box'
let isTrue = true
let props: MuiBoxProps = {
style: {
marginBottom: isTrue ? '1px' : '2px'
}
}
<Box {...props}></Box>
在第二种方式中,我可以为每个单独的组件输入一个特殊的输入。例如:
let props: MuiBoxProps = {
mb: '1px'
}
类型推断可用于查看编译错误。
但是,此方法不适用于makeStyles,因为它的返回类型始终为CSSProperties。
然而,在第一种情况下,我可以通过添加道具在内部设置样式。
所以,总而言之:
无法对特定组件进行类型推断。可以批量应用道具。
可以对特定组件进行类型推断。无法批量应用道具。
官方推荐的是什么?
【问题讨论】:
标签: reactjs styles material-ui