Reactjs 是否可以将React应用程序加载到另一个React应用程序中?
是否可以将React应用程序加载到另一个React应用程序中 我已经创建了一个React应用程序,但情况发生了变化,现在我想围绕该应用程序创建一个仪表板。问题是我希望这两个应用程序能够分开运行,这样我就可以在分开的存储库中处理应用程序1,在分开的存储库中处理应用程序2。但对于部署,仅部署1个加载到其他应用中的应用 所以我想要的情况如下 应用程序1仪表板将应用程序2作为组件加载,同时仍然可以将道具从应用程序1传递到应用程序2。(身份验证将在应用程序1中进行,并且两个应用程序都与同一后端rest api通信)Reactjs 是否可以将React应用程序加载到另一个React应用程序中?,reactjs,Reactjs,是否可以将React应用程序加载到另一个React应用程序中 我已经创建了一个React应用程序,但情况发生了变化,现在我想围绕该应用程序创建一个仪表板。问题是我希望这两个应用程序能够分开运行,这样我就可以在分开的存储库中处理应用程序1,在分开的存储库中处理应用程序2。但对于部署,仅部署1个加载到其他应用中的应用 所以我想要的情况如下 应用程序1仪表板将应用程序2作为组件加载,同时仍然可以将道具从应用程序1传递到应用程序2。(身份验证将在应用程序1中进行,并且两个应用程序都与同一后端rest a
我见过Iframe和重定向等解决方案,但这不是我想要的,除非没有其他方法。是的,这是可能的。有各种资源可以做同样的事情。我建议浏览以下文章,帮助您找到可能的解决方案 这是我的方法: APP1应该是这样的
<!doctype html>
<html lang="en">
<head>
<!-- Your header contents -->
</head>
<body>
<div id="content"></div>
<script>
window.addEventListener('someComponentInitialized', () => {
SomeComponent(
{someConfig: 'someValue'},
document.getElementById('content')
);
});
</script>
<script type="text/javascript" src="https://domain-where-app2-lives.ext/bundle.js"></script>
</body>
</html>
window.addEventListener('someComponentInitialized',()=>{
某些成分(
{someConfig:'someValue'},
document.getElementById('content')
);
});
APP2应该是这样的(在app1中调用bundle.js)
import SomeComponent from./components/SomeComponent';
从“React”导入React;
从“react dom”导入react dom;
const SomeComponent=(配置,元素)=>{
ReactDOM.render(,
要素
);
};
window.SomeComponent=SomeComponent;
dispatchEvent(新事件(“someComponentInitialized”);
它的作用是:
App2正在将SomeComponent方法添加到全局窗口范围。在App1中,调用该方法并传递参数,参数1是配置,参数2是要打印SomeComponent的元素 使用iFrame将另一个web应用加载到您的应用
import SomeComponent from './components/someComponent';
import React from 'react';
import ReactDOM from 'react-dom';
const SomeComponent = (config, element) => {
ReactDOM.render(<SomeComponent config={config} />,
element
);
};
window.SomeComponent = SomeComponent;
window.dispatchEvent(new Event('someComponentInitialized'));