- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始学习 React material-ui我发现了这个makeStyles
函数,他们说它返回一个 Hook。
我记得在 React hooks 中,自定义钩子(Hook)是通过包装内置钩子(Hook)来制作的。我试着往里面看makeStyles
,并且它具有一定的互操作性和一些 css-in-javascript 模式。
我真的厌倦了一遍又一遍的规则。现在有人可以告诉我这是什么makeStyle
函数,也许会建议一种更好的方法来阅读material-ui。
感谢 Stack Overflow 的好心人。
最佳答案
如果您熟悉旧版本的 Material-UI,您可能使用过 withStyles 在 MUI 组件中使用自定义样式。
withStyles 只是一个 HOC(高阶组件),用作包装器,将 classes 属性分配给您的组件。您可以进一步使用类对象将特定类分配给组件中的 DOM 或 MUI 元素。
makeStyles 只是一个后继者,它返回一个钩子(Hook)(以访问自定义类)。现在这只是一种现代 React 的做事方式,以避免 HOC。
MUI v3.9.3
import { withStyles } from '@material-ui/core/styles';
const styles = {
root: {
backgroundColor: 'red'
},
};
class MyComponent extends React.Component {
render () {
return <div className={this.props.classes.root} />;
}
}
export default withStyles(styles)(MyComponent);
MUI v4.9.5
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles({
root: {
backgroundColor: 'red'
},
});
export default function MyComponent(props) {
const classes = useStyles(props);
return <div className={classes.root} />;
}
关于reactjs - Material-ui 中的 makeStyles 到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650589/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!