在material-ui中使用withStyles()时动态更改JSS值

时间:2017-08-30 16:59:55

标签: material-ui jss

我有一个使用withStyles包装的Drawer组件,并覆盖了anchorLeft className上的一些值。 <Drawer anchor="left" classes={{paper: this.props.classes.paper, anchorLeft: this.props.classes.anchorLeft}} ...>

我有一些应用程序的其他部分可以影响需要传递给top的{​​{1}}值。我正在使用redux,因此最高值通过redux存储传递并通过props发送到我的Drawer组件,因此我需要在组件中使用一种方法来影响anchorLeft的最高值。

在组件内部进行动态样式并更改JSS样式表中的值的首选方法是什么?有没有办法使用JSS sheet.update()并以这种方式访问​​工作表? http://cssinjs.org/json-api?v=v9.0.0-pre.3#function-values

2 个答案:

答案 0 :(得分:0)

我假设您正在使用react-jss或styled-jss,在这两种情况下,您都可以使用函数值,并且您已经在那里接收道具。

答案 1 :(得分:0)

现在看来,不可能使用材料-ui withStyles。我必须添加react-jss并在我需要动态函数的组件中使用injectStyles,然后添加一个与ThemeProvider具有相同主题的其他MuiThemeProvider,这样材料-ui和react-jss主题具有相同的设置。

当前正在跟踪与此功能相关的材料-ui的问题: https://github.com/callemall/material-ui/issues/7633