Код: Выделить всё
import { loadRemote } from '@module-federation/runtime';
import { ComponentType, useState, useEffect} from 'react';
import { RemoteModule } from 'types/federation';
export function useRemoteModule(name: string): ComponentType | null {
const [module, setModule] = useState(null);
useEffect(() => {
const loadModule = async () => {
try {
const module = await loadRemote(`${name}/App`);
if (!module?.default) {
throw new Error(`Module ${name} does not have a default export`);
}
setModule(() => module.default);
} catch (e) {
console.log(e, 'catch');
}
}
loadModule();
}, [name])
return module;
}
export function RouteResolver({ routes }: RouteResolverProps) {
const { '*': routeParams } = useParams();
const configRoute = Object.keys(routes).find(
(pathname: string) => matchPath(pathname, `/${routeParams}`)
) || '';
const moduleName = getModuleName(routeParams, routes[configRoute]);
const Module = useRemoteModule(moduleName || DEFAULT_MODULE);
return (
{Module ? : null}
);
}
ReferenceError: Cannot access uninitialized variable.
(anonymous function) — virtualExposes-Dh5dHcud.js:5
< /code>
Что может вызвать эту проблему, и есть ли решение для этого? Я использую манифест. Я попытался изменить обоих модульных федераций/среды выполнения и модуля-федерации/времени выполнения/усиления. Изменил конфигурацию федерации, все еще нет результата
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-access-u