为了账号安全,请及时绑定邮箱和手机立即绑定

material-ui里面的withStyles是什么?

material-ui里面的withStyles是什么?

沧海一幻觉 2019-02-25 13:23:07
https://github.com/mui-org/ma...export default withStyles(styles, { name: 'MuiAppBar' })(AppBar); //这里的作用是什么?
查看完整描述

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

withStyles 是一个 HOC 组件,会为你的 AppBar 组件根据当前的 theme 来添加样式。核心功能就是为子组件提供了一个 classes props,这样你就可以在外部对 class name 进行修改。

在你这个例子中,就会将第一个参数 styles 的样式,覆盖掉原来主题中的 MuiAppBar 样式。


查看完整回答
反对 回复 2019-03-06
?
繁星coding

TA贡献1797条经验 获得超4个赞

楼上的回答是正确的,不过利于理解,先说下 Material-UI 中默认支持的样式吧,使用的是 CSS-In-JS 方案,也就是 JSS, 而你写的样式都是 Object, 所以,需要把你的对象 JSS to classes,就是 JSS 利用你的 object 生成样式,并且把所有的 classnames 成为一个对象为 classes 通过 props 传递给你的下一级组件。

const styles = { root: { width: '100%' } };

-> CSS :

ComponentName-root_0 { width: 100%; };

-> classes

const classes = { root: 'ComponentName-root_0' };

withStyles(stypes) 步骤完成你的完整代码是:withStyles(stypes)(Component) 如下(withStyles(stypes) 代码如下):

return (Component) => (props) => (<Component {...props} classes={classes} />);

现在明白了吧?


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 1385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信