我如何将这个 React 库与 React-Rails 一起使用

How can I use this React library with React-Rails

我发现了这个:

https://github.com/ssorallen/turbo-react

我喜欢它的功能,我只是对如何在我的 Rails 项目中使用这段代码感到困惑,该项目目前使用 React-Rails gem

我最困惑的是将代码放在哪里,以便我可以使用 React Rails 将其读入我的 Rails gem。如果我将主要 JS 文件粘贴到我的 vendor/assets 文件夹中,我会收到此消息:

Uncaught ReferenceError: global is not defined

我知道我根本上误解了如何将这种 JS 文件包含到我的 Rails 项目中。

src/turbo-react.js is meant for a Node.js environment, not a browser environment. I see another file, public/dist/turbo-react.min.js,在浏览器中已经是 "compiled" 到 运行(使用 Webpack)。您应该将该文件复制到 vendor/assets,然后在 application.js.

中要求它

src/turbo-react.js 的前几行给了我一些信号,表明它适用于 Node.js:

if (global.Turbolinks === undefined) {
  throw "Missing Turbolinks dependency. TurboReact requires Turbolinks be included before it.";
}

var HTMLtoJSX = require("htmltojsx");
var JSXTransformer = require("react-tools");
var React = require("react");

globalrequire 都是 Node.js 概念,在浏览器中不存在。

我猜你正在搜索这个:https://github.com/ssorallen/turbo_react-rails

安装说明:

  1. 将此行添加到应用程序的 Gemfile:

    gem 'turbo_react-rails'

  2. 安装更新的 gem

    $ bundle install

  3. 在 Turbolinks:

    之后需要像 "application.js" 这样的 JavaScript 文件中的 turbo-react

    //= turbolinks //= require turbo-react

就是这样。现在,如果您在 Web 应用程序中单击任何 link,它应该通过 Ajax 加载并使用 React 替换页面中的标签。