@historydev
Редактирую файлы с непонятными расширениями

Как динамически импортировать компонент в lazy?

Есть публичный api компонента screens/index.js:
export {MainScreen} from './ui/MainScreen';

Мне нужно лениво его загрузить.
Добавил в tsconfig: "module": "esnext",

Пытаюсь импортировать динамически и единственный вариант который не возвращает ошибку, вот этот:
const LazyMainScreen = lazy(() => {
    return import('screens').then(module => {
        return {
            default: module.MainScreen
        };
    });
});


Но он не работает, сначала я вообще не понимал что ему нужно, во всех примерах:
lazy(() => import('./component));

Он просит вернуть объект {default} где default типа ComponentType, я не понимаю что мне туда нужно передать, пробовал:
typeof module.MainScreen

Не работает, если попытаться тип вызвать ComponentType - такого типа нет, возможно он в каком-то пространстве имён, что-то вроде React.ComponentType.

Что мне нужно сделать?

P.S: Нагуглил что нужен export default, но как быть если в паттерне который я использую для доступа к компонентам используется export, а не export default?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы