Ram*_*hil 17 reactjs material-ui
在Material-UI 中,有一个makeStyles
函数可以用来获取自定义的 CSS-Styling。
如果我不在该特定 CSS 中使用主题,我应该使用它吗?
例如:
import React from "react";
import { TextField, Paper, Button, Box } from "@material-ui/core";
const classes = {
paper: {
backgroundColor: "#eee",
marginLeft: "30%",
marginRight: "30%"
},
textField: {
backgroundColor: "#fff"
},
button: {
backgroundColor: "green",
marginLeft: 20
}
};
const Ohne = () => {
console.log(classes);
return (
<Paper style={classes.paper}>
<Box>
<TextField style={classes.textField} />
<Button style={classes.button}>abc</Button>
</Box>
</Paper>
);
};
export default Ohne;
Run Code Online (Sandbox Code Playgroud)
对象是:
{
"paper": {
"backgroundColor": "#eee",
"marginLeft": "30%",
"marginRight": "30%"
},
"textField": {
"backgroundColor": "#fff"
},
"button": {
"backgroundColor": "green",
"marginLeft": 20
}
}
Run Code Online (Sandbox Code Playgroud)
对比
import React from "react";
import { makeStyles } from "@material-ui/styles";
import { TextField, Paper, Button, Box } from "@material-ui/core";
const useStyles = makeStyles(theme => ({
paper: {
backgroundColor: "#eee",
marginLeft: "30%",
marginRight: "30%"
},
textField: {
backgroundColor: "#fff"
},
button: {
backgroundColor: "green",
marginLeft: 20
}
}));
const Mit = () => {
const classes = useStyles();
console.log(classes);
return (
<Paper className={classes.paper}>
<Box>
<TextField className={classes.textField} />
<Button className={classes.button}>abc</Button>
</Box>
</Paper>
);
};
export default Mit;
Run Code Online (Sandbox Code Playgroud)
对象是:
{
"paper": "makeStyles-paper-85",
"textField": "makeStyles-textField-86",
"button": "makeStyles-button-87"
}
Run Code Online (Sandbox Code Playgroud)
所以有3个要点(我看到的):
style
内联且具有更高优先级的属性。const
类的外部很重要,因此对象仍然只创建一次并且不会触发重新渲染。但是生成的组件看起来相同(在我的 Firefox 中)。
我的问题:
Rya*_*ell 11
有一些场景需要使用 CSS 类(例如 viamakeStyles
或withStyles
):
error
直接或通过FormControl
上下文指定道具的地方)就性能问题而言,我希望内联样式在大多数用例中更快。差异是否足够重要取决于您的特定应用程序的许多细节。我工作的团队使用makeStyles
或withStyles
用于我们的大部分造型。
如果特定组件在文档中多次呈现(例如列表项、表格单元格等),内联样式可能会导致 DOM 中出现大量重复的 CSS。始终使用类的一个好处是,您可以在浏览器的开发人员工具中更改类的 CSS,并在文档中的所有用法中查看应用的更改。
归档时间: |
|
查看次数: |
6331 次 |
最近记录: |