材质ui的makeStyles中的动态值

时间:2020-03-31 20:51:47

标签: reactjs material-ui

我在数据库中存储了一些样式,因此用户可以按照以下方式重新设置其组件的样式:

const stylesFromDatabase = {
backgroundColor: "blue",
color: "red"
}

是否可以将这些样式带入实质性UI的makeStyles中-也许像这样吗?-编辑-

    const useStyles = makeStyles(theme => ({
    textField: stylesFromDatabase => ({
    width: "100%",
    ...stylesFromDatabase
  }),

或者,我可以使用任何方法来组合makeStyles和javascript对象生成的类吗?

2 个答案:

答案 0 :(得分:1)


绝对可以在JavaScript中包含一个makeStyles对象。
感谢spread运算符。< / p>

建议首先将对象散布在对象上,以便您可以轻松覆盖任何样式。
因此,最好执行以下操作。

const useStyles = makeStyles(theme => ({
  textField: {
    ...stylesFromDatabase,  // object
    width: "100%",
    color: "green", // this would override "red" (easier fine tuning)
  },
});

答案 1 :(得分:0)

为了将来的发布者的利益,我最初的帖子中的代码工作得很好,后来我有了一些重写的​​东西! (没有回调函数是未定义的)– H Capello只是