Я думаю, вы можете неправильно понять что-то в примере.Вам не нужно ничего делать для каждого компонента отдельно, чтобы изменить порядок загрузки.Шаги следующие:
1.В вашем index.html
добавьте комментарий наподобие <!-- jss-insertion-point -->
в заголовок, куда вы хотите вставить CSS CSS.
2.В вашей index.js
(или где-нибудь в верхней части иерархии рендеринга) создайте конфигурацию jss, чтобы указать имя комментария точки вставки:
import JssProvider from "react-jss/lib/JssProvider";
import { create } from "jss";
import { jssPreset } from "@material-ui/core/styles";
const jss = create({
...jssPreset(),
// We define a custom insertion point that JSS will look for injecting the styles in the DOM.
insertionPoint: "jss-insertion-point"
});
3.Оберните ваш элемент верхнего уровня в JssProvider
, чтобы включить эти конфигурации в игру (без специфических для компонента шагов):
function App() {
return (
<JssProvider jss={jss}>
<div className="App">
<Button>Material-UI</Button>
<Button className={styles.button}>CSS Modules</Button>
</div>
</JssProvider>
);
}
Я создал CodeSandbox, похожий на тот, на который указывает Material-Документация пользовательского интерфейса, за исключением того, что этот использует начальную точку create-реагировать-приложение, поэтому зависимости проще.
![Edit r5o1vw5po](https://codesandbox.io/static/img/play-codesandbox.svg)