Легче всего было бы обернуть Materialize с помощью React Materialize . Тогда вы можете использовать все, что хотите, из обеих библиотек, даже если имя будет одинаковым. Например:
import { Button as OldButton } from 'react-materialize';
import { Button } from '@material-ui/core';
Что касается CSS, у Material-UI есть стилизованное решение должно быть «совместимо со всеми другими основными стилистическими решениями» (si c) .
Эти стили являются компонентами области видимости и автоматически избегают конфликтов имен классов, делая имена классов уникальными во время компиляции.
import { makeStyles } from "@material-ui/core";
const useStyles = makeStyles({
mainDiv: {
display: "flex",
},
});
export const Component = function () {
const classes = useStyles();
return (
<div className={classes.mainDiv}>
// component content
</div>
);
};
Если вы решите go этот маршрут, имейте в виду, что React Предполагается, что Materialize станет альтернативой Material-UI для приложений React. Вы должны проверить все «за» и «против» еще на шаге 1. Кто знает, может быть, вам даже не нужны шаги 2 и 3.