1.0.3 • Published 2 years ago
ka-inject v1.0.3
微前端模式下无法获取到子应用内部的具体路由信息,现通过在子应用中劫持子路由的渲染进行KeepAlive嵌套
具体代码如下:
import React from 'react';
import { KeepAlive } from 'umi';
function KaInject(props) {
const { route } = props;
const { OriginComponent } = route;
return (
<KeepAlive>
{OriginComponent ? <OriginComponent {...props} /> : 'unknown'}
</KeepAlive>
);
}
export default KaInject;
import KaInject from './KaInject';
const kaInject = item => {
for (const r of item) {
if (r.routes) {
kaInject(r.routes);
}
const component = r.component;
r.OriginComponent = component;
r.component = KaInject;
}
};
export default kaInject;