2014-07-26 27 views
5

Ich habe gerade angefangen, mit der react gem zu spielen, aber ich scheinen in Probleme zu laufen. Mit dem unten stehenden Code werde ich bei der Weiterleitung an meine Beispielseite in der Entwicklerkonsole des Browsers feststellen, dass "Reaktion nicht definiert" ist. Es wird Bezug auf diese Linie:React ist nicht definiert

var react_example = React.createClass ({

, die in der ist react_example.js.jsx Datei (siehe unten)

Gemfile

.

development.rb

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

application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title>React example</title> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag "react" %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

react_example.js.jsx

/** @jsx React.DOM */ 

var react_example = React.createClass({ 
    render: function() { 
    return (
     <div> 
     <h5>React</h5> 
     </div> 
    ); 
    } 
}); 

Antwort

1

Das ist eigentlich nicht der beste Weg, es zu tun, es sei denn, Sie wollen wirklich laden reagieren abgesehen von Ihrer Anwendung.

Die Dokumentation wird deutlich, sollten Sie dies tun, in Ihrem application.js Manifest-Datei:

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

die Zeile, die „Komponenten“ ist abhängig von dem Ordner erwähnen Sie tatsächlich bringt Ihre Komponentendateien reagieren.

2

Schalt Versuchen Sie JS umfasst:

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

Da Sie React in Ihrer Anwendung JS verwenden, muss es zuerst definiert werden.

+0

Das schien den Trick zu tun, aber jetzt mein HTML ist nicht wirklich Rendern meiner Komponente. React wird geladen, genauso wie mein Skript, aber auf meiner Seite wird nichts angezeigt. – theStig

+0

Sie benötigen einen Aufruf von 'React.renderComponent' oder des Rails-View-Helper' render_component'. Weitere Informationen finden Sie im REACT-Tutorial und read-rails README. –

Verwandte Themen