我有一个基于Erik Rasmussen的入门套件的React应用程序来自here .

该应用程序运行良好,使用React Router和Redux .

由于我的Rails应用程序很老,嵌入应用程序的想法是有一个单独的控制器,其中 index 动作呈现iFrame,iFrame本身从相同的控制器 show 动作加载它的内容 .

因此,我可以坚持使用我的Rails应用程序的布局,并且无需任何更改即可呈现React应用程序标记 .

在我通过应用程序编译后

$> npm run build

我将main- .js and main- .css文件复制到Rails应用程序中,因此可以从那里发送它们 .

之后我通过以下方式启动React应用程序:

$> npm run start

并通过curl请求起始页面 . 卷曲输出进入我的 show erb模板 . 在里面我改变了加载主JS和CSS的URL .

当我现在请求我的 index 页面时,iFrame会加载它的内容,应用程序似乎初始化,但根本不起作用 . 我看到渲染的内容,但点击链接会导致Rails路由错误 . 所以点击似乎不被React截获 .

我试图跟踪执行情况,最后调试 client.js 中的代码 . 看起来, ReactDOM.render 接收到正确的参数,这意味着,有一个适当的外观组件,一个商店,甚至目标元素 .

目前我在控制台中收到以下错误:

Uncaught ReferenceError: _classCallCheck is not defined

我正在使用一个稍微有点的版本的starterkit,它将初始数据嵌入到标记中,但我无法弄清楚,为什么_classCallCheck在React应用程序中工作,但在嵌入到Rails中时停止工作 .

即使是最新版本的starterkit也不起作用 . 在这种情况下,我根本没有任何错误,但具有相同的行为 .

由于旧的Rails版本,我不能使用React Gem,我需要一些开箱即用的初学者提供的功能,所以改变这个,也是没有选择 .

任何提示?