отреагировал ленивым импортом материала - иконки Ui при сборке не удаются и время компиляции очень велико - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь динамически импортировать некоторые значки Material-Ui, основываясь на их именах. Требуется создать меню на основе объекта JSON, в котором перечислены все параметры меню и прикреплен к нему значок.

Но при создании приложения (create-реагировать-приложение) сборка падает, жалуется на память.

В dev время компиляции очень велико, но значки в конце загружены правильно.

Есть ли другой способ загрузки этих материалов -и иконки динамически? Thks

export interface IDrawerMenuItemsProps extends IOptionsValue {
    to: string;
    iconName?: string;
}

создание ленивых компонентов

const LazyMuiIcon: FunctionComponent<Pick<
        IDrawerMenuItemsProps,
        "iconName"
    >> = ({ iconName }) => {
        const IconElement = React.lazy(() =>
            import(/* webpackMode: "eager" */ `@material-ui/icons/${iconName}`)
        );
        return (
            <Suspense fallback={null}>
                <IconElement />
            </Suspense>
        );
    };

место, где я использую компонент

<ListItemIcon>
      <LazyMuiIcon iconName="Home" />
</ListItemIcon>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...