2014-07-26 20 views
5

मैंने अभी react gem के साथ खेलना शुरू किया लेकिन मुझे समस्याएं चल रही हैं। नीचे दिए गए कोड के साथ, जब भी मैं अपने प्रतिक्रिया उदाहरण पृष्ठ पर जाता हूं, तो मुझे ब्राउज़र डेवलपर कंसोल में नोटिस होता है, यह कहेंगे "प्रतिक्रिया परिभाषित नहीं है।" यह इस लाइन के लिए बात कर:प्रतिक्रिया को परिभाषित नहीं किया गया है

वर react_example = React.createClass ({

जो में है react_example.js.jsx फ़ाइल (नीचे देखें)

Gemfile

#... as well as other gems... 
gem 'nokogiri' 
gem 'react-rails' #<------ React 
gem 'less-rails' 
gem 'therubyracer' 
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git' 

विकास.आरबी

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> 
    ); 
    } 
}); 

उत्तर

1

यह वास्तव में ऐसा करने का सबसे अच्छा तरीका नहीं है, जब तक कि आप वास्तव में अपने आवेदन से अलग प्रतिक्रिया लोड नहीं करना चाहते हैं।

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

लाइन है कि उल्लेख "घटक" फ़ोल्डर आप वास्तव में डालता है अपने घटक फ़ाइलों प्रतिक्रिया पर निर्भर करता है:

प्रलेखन राज्यों स्पष्ट रूप से आप मैनिफ़ेस्ट फ़ाइल अपने application.js अंदर करना चाहिए।

2

स्विच करने का प्रयास अपने जे एस शामिल हैं:

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

चूंकि आप अपने एप्लिकेशन जेएस में प्रतिक्रिया का उपयोग करते हैं, इसे पहले परिभाषित करने की आवश्यकता है।

+0

यह चाल चल रहा था, लेकिन अब मेरा एचटीएमएल वास्तव में मेरे प्रतिक्रिया घटक को प्रस्तुत नहीं कर रहा है। प्रतिक्रिया लोड की गई है, साथ ही मेरी स्क्रिप्ट, लेकिन मेरे पृष्ठ पर कुछ भी नहीं दिखाया जा रहा है। – theStig

+0

आपको 'React.renderComponent' या रेल दृश्य सहायक' render_component' को कहीं भी कॉल की आवश्यकता है। अधिक जानकारी के लिए रिएक्ट ट्यूटोरियल और रिएक्ट-रेल रीडमे देखें। –

संबंधित मुद्दे