Material ui 什么';在材质界面中,withStyle和withTheme的区别是什么?
我是网络开发新手,我正在尝试使用MaterialUI。我看到一些演示代码与Style一起使用,还有一些与Theme一起使用。他们之间有什么不同吗?非常感谢Material ui 什么';在材质界面中,withStyle和withTheme的区别是什么?,material-ui,Material Ui,我是网络开发新手,我正在尝试使用MaterialUI。我看到一些演示代码与Style一起使用,还有一些与Theme一起使用。他们之间有什么不同吗?非常感谢 withStyles覆盖特定组件的样式 withTheme覆盖特定组件的样式,同时允许您访问主题,以便您的样式可以基于主题的颜色、排版、间距等 这可能会令人困惑,因为您必须使用以下高阶函数创建新组件: const MyCustomBottom = withStyles(styles)(Button); const MyCustomThemeB
withStyles
覆盖特定组件的样式
withTheme
覆盖特定组件的样式,同时允许您访问主题,以便您的样式可以基于主题的颜色、排版、间距等
这可能会令人困惑,因为您必须使用以下高阶函数创建新组件:
const MyCustomBottom = withStyles(styles)(Button);
const MyCustomThemeBasedButton = withTheme(theme)(Button);
我认为公认的答案没有得到很好的解释,更清楚地说: 1)
withStyles
在创建css样式时还提供主题
对象;创建函数的签名如下所示:
const styles = theme => ({
root: {
maxWidth: 600,
},
tabs: {
borderTopWidth: 1,
borderTopStyle: 'solid',
borderColor: theme.palette.divider,
width: '100%',
},
});
可以看到theme
和它里面的所有东西,比如theme.palete
,都可以访问。官方文件和例子到处都是,所以我只是随机挑选。(按此按钮显示源代码:“<>”)
2) with theme
的目的是将主题
注入道具
,因此它也可以在组件函数(如渲染
)中访问,有时很有用。正式文件