Я впервые использую Material UI и начинаю много повторять CSS. Я привык к глобальной таблице стилей и повторному использованию классов из этого, но я не уверен, как это сделать с помощью этого фреймворка.
Я прочитал документы, и единственное, что я могу понять в моей ситуации, - это создать createMuiTheme
и использовать его следующим образом:
index.js
const theme = createMuiTheme({
fontFamily: {
primary: "\"IM Fell DW Pica SC\", serif",
})
ReactDOM.render(
<MuiThemeProvider theme={theme}>
<CssBaseline />
<App />
</MuiThemeProvider>,
document.getElementById('app')
)
app.js
const styles = theme => ({
paragraph: {
"fontFamily": theme.fontFamily.primary
}
})
\\ DOM
<Typography variant="caption" gutterBottom className={paragraph}>
Here is my paragraph text
</Typography>
Я даже правильно использую это? Для меня это не сильно сокращает объем кода, потому что, если я создаю другой компонент, который хочет использовать то же семейство шрифтов, мне придется снова создать класс paragraph
.
У меня есть несколько компонентов в отдельных файлах, и я использую много простых стилей, таких как textAlign: 'center'
и fontWeight: 'bold'
Я думал о создании отдельного файла JS для CSS и извлечении из него, но я не уверен, что именно для этого был разработан Material UI. Я думаю, что я не использую createMuiTheme
в полной мере. Кто-нибудь может дать мне простое решение для повторного использования некоторых из этих стилей CSS?