Задать вопрос
@historydev
long long long long long .... int

Как динамически импортировать компонент в 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?
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Средний 8 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽