Значения Dynami c в материалах пользовательского интерфейса - PullRequest
1 голос
/ 31 марта 2020

У меня есть несколько стилей, хранящихся в базе данных, чтобы пользователи могли повторно стилизовать свои компоненты - по следующим направлениям:

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

Возможно ли перенести эти стили в makeStyles пользовательского интерфейса материала - возможно, что-то вроде этого? - edited -

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

В качестве альтернативы, есть ли что-нибудь, что я могу использовать для смешения sh вместе классов, сгенерированных makeStyles и объектом javascript?

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Да , Абсолютно возможно включить объект JavaScript в makeStyles. Благодаря оператору spread.

Совет заключается в том, чтобы сначала распространяться по объекту, чтобы можно было легко переопределять любые стили. Поэтому предпочтительнее сделать следующее:

const useStyles = makeStyles(theme => ({
  textField: {
    ...stylesFromDatabase,  // object
    width: "100%",
    color: "green", // this would override "red" (easier fine tuning)
  },
});
0 голосов
/ 05 апреля 2020

Для будущих плакатов код в моем исходном посте работал отлично, у меня было что-то, что переопределило это позже! (Без функции обратного вызова это было неопределено) - H Capello просто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...