Прежде всего, они не эквивалентны.
Typography
не равно typography
Если мы хотим использовать <Typography />
с его полными функциями и реквизиты, мы используем @ material-ui / core , и это, безусловно, лучшая практика в большинстве ситуаций.
import { Typography } from '@material-ui/core';
@ material-ui / system - это нечто, связанное с material-ui theme .
Используется для экспорта тем, которые можно напрямую применить к другим компонентам.
@ material- ui / system предоставляет низкоуровневые служебные функции, называемые «стилевыми функциями», для построения мощных систем проектирования
Вы можете найти typography
как в документе по умолчанию Theme
, так и System
См. Соответствующий документ:
По моему мнению, это может быть хорошим решением для быстрой стилизации компонентов некоторых нативных или сторонних библиотек с помощью MUI-theme
. И это тот сценарий, когда мы его используем.
Использование темы
import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles";
const theme = createMuiTheme({
palette: {
}
});
<ThemeProvider theme={theme}>
<App />
</ThemeProvider>;
import { makeStyles } from "@material-ui/core/styles";
import { Typography } from "@material-ui/core";
const useStyles = makeStyles(theme => ({
root: {
color: theme.palette.primary,
}
}));
const classes = useStyles();
<Typography className={classes.root} />