将使用 create-react-app 创建的 React 应用程序集成到外部应用程序中

Integrate React app created with create-react-app into an external application

我正在使用 create-react-app-typescript 创建一个 React 应用程序。我想要做的是 build 应用程序,然后将生成的 jsCSS 文件包含到另一个应用程序中(这是一个非常古老的应用程序,对React 或任何新的 JavaScript 功能)

我的问题:我希望能够将信息传递到我的 React 应用程序;例如,我想指定一个数组用于显示信息,但问题是,只要我将 <script> 标记添加到 React 的 js 文件,它就会尝试在下面创建应用程序目标 div 元素。

不确定这是否是个好主意,但我尽量避免 ejecting 我的 React 应用程序,这样我就不需要自己维护所有东西了。

我想到的一个解决方案是在 localStorage 中创建一个项目,然后从我的 React 应用程序中读取它,这以某种方式解决了问题,但这是一个好的方法吗?

然后还有另一个问题:我希望能够传递来自外部应用程序的回调,以便从我的 React 应用程序调用,从而在我的外部应用程序中发生某些事情,而这不能使用 localStorage

非常感谢任何帮助或提示, 谢谢

您根本不必弹出项目。一种可能的解决方案(可能不是最好的)就是更改 index.js 以公开您的应用程序。因此,应用程序不会直接 ​​"rendering" 而是执行以下操作

// needed imports

window.startFromOutside = function(element, callback) {
  ReactDOM.render(<ReactApp cb={callback} />, element)
}

这样您就可以 bootstrap 您的 React 应用程序从外部传递您想要的任何属性。