React未定义

我刚刚开始玩反应gem,但我似乎遇到了问题。 使用下面的代码,每当我被路由到我的反应示例页面时,我注意到在浏览器开发者控制台中,它会说“React未定义”。 它指的是这一行:

var react_example = React.createClass({

它位于react_example.js.jsx文件中(见下文)。

的Gemfile

#... as well as other gems... gem 'nokogiri' gem 'react-rails' # 'git://github.com/seyhunak/twitter-bootstrap-rails.git' 

development.rb

 config.react.variant = :development config.react.addons = true 

application.html.erb

    React example  true %>  true %>        

react_example.js.jsx

 /** @jsx React.DOM */ var react_example = React.createClass({ render: function () { return ( 
React
); } });

这实际上并不是最好的方法,除非你真的想加载应用程序之外的反应。

文档清楚地说明您应该在application.js清单文件中执行此操作:

 //= require react //= require react_ujs //= require components 

提及“组件”的行取决于实际放置反应组件文件的文件夹。

尝试切换你的JS包括:

 <%= javascript_include_tag "react" %> <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

由于您在应用程序JS中使用React,因此需要先定义它。