Какие темы, когда речь заходит о пользовательском интерфейсе материалов? - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь понять, что это за темы и что они пытаются изобразить. Я прочитал документы, но это все еще не имеет смысла для меня.

Например, ниже приведен фрагмент кода, на который я ссылаюсь.

Я просто хочу знать, что theme должно представлять, откуда оно и почему оно используется.

const styles = theme => ({
root: {
    display: 'flex',
},

toolbar: {
    paddingRight: 24, // keep right padding when drawer closed
},

toolbarIcon: {
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'flex-end',
    padding: '0 8px',
    ...theme.mixins.toolbar,
},
});

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Документация Material-UI охватывает это довольно подробно, но есть несколько различных частей документации, необходимых для понимания кода, который вы разместили.

Что касается того, почему используется тема, то в документации это рассматривается, но один из вариантов использования - это управление цветовыми схемами. Например, если у вас мультитенантное приложение (одна кодовая база используется для нескольких клиентов), вы можете захотеть использовать цвета, характерные для каждого клиента. Темы позволяют динамически изменять цвета, шрифты и другие аспекты внешнего вида, просто предоставляя другую тему в корне вашего приложения. В конкретном примере, который вы опубликовали, тема используется для добавления CSS для внешнего вида панелей инструментов, которые включены в стандартную тему Material-UI, но которые могут быть переопределены в пользовательской теме.

Вот код Material-UI, который отвечает за значения по умолчанию для theme.mixins.toolbar: https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/styles/createMixins.js

А вот соответствующая выдержка из этого кода:

toolbar: {
      minHeight: 56,
      [`${breakpoints.up('xs')} and (orientation: landscape)`]: {
        minHeight: 48,
      },
      [breakpoints.up('sm')]: {
        minHeight: 64,
      },
    }
0 голосов
/ 16 января 2019

Вы можете (по желанию) создать свою собственную тему через createMuiTheme.Эти темы и их переменные (цвета, значения по умолчанию, интервалы или все, что вы пожелаете) могут быть доступны в ваших стилях, которые вы добавляете в свои стили через аргумент темы.пример.

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