2015-10-14 30 views
25

Rails uygulamalarım var, tepki rayları gem'e yükledim, kurdum ve test uygulamasını çalıştırmaya çalışıyorum.Yakalanmamış ReferenceError: ReactDOM tanımlanmadı

Taze, yüklü i merhaba dünya programını çalıştırmak için uğraş zaman, bu hata hapened:

Uncaught ReferenceError: ReactDOM is not defined

Bu benim tepki geçerli:

var HelloWorld = React.createClass({ 
    render: function() { 
    return (
     <p> 
     Hello, <input type="text" placeholder="Your name here" />! 
     It is {this.props.date.toTimeString()} 
     </p> 
    ); 
    } 
}); 

setInterval(function() { 
    ReactDOM.render(
    <HelloWorld date={new Date()} />, 
    document.getElementById('example') 
); 
}, 500); 

Onun içinde kaydedilir/app/varlıklar/javascripts/bileşenleri /test.js.jsx dosyası.

Raylar 0.14.0 beri 2.2.3

cevap

20

ReactDOM mevcut Ruby ile 4.2.4, yani (bir sürüm 0.13.3 Tepki var çünkü) React.render kullanmak gerekir bunun yerine,

setInterval(function() { 
    React.render(
    <HelloWorld date={new Date()} />, 
    document.getElementById('example') 
); 
}, 500); 

veya React sürümünü yükseltme ve ReactDOM

Changes in React 0.14

+1

Installing React - using a CDN

, ben başka hata var, ama ben sadece mücevher kaldırmak ve yeni sürümü manuel tepki kuracaktır düşünüyorum. Cevabınız için teşekkürler! – IvRRimUm

43

dahil Bu yazım sorun olabilir - 0 olur, değil ReactDom.

Bu

+0

Burada garip bir şey oluyor. Kullanılabilir öğreticiye (https://facebook.github.io/react/docs/tutorial.html) göre doğru olması gerektiğinden emin değilim, ancak uygulamam aslında ReactDom'u 15.0 kullanırken ReactDOM olarak değiştirdiğimde çalışmaya başladı. 1 ve ReactDom 15.0.1. – Grisk

+1

İnanılmaz. Saçımı yırttıktan bir saat geçirdim, çünkü SystemJS (benim kullandığım şey) bana neden ReactDom undefined olduğunu söylüyordu. Sonunda bu cevabı gördü, yazım yerini ReactDOM'e bıraktı ve işe yarıyor ... Oh çocuk. –

4

Eğer react-dom.js dahil olduğundan emin olun tepki yeni sürümü ile zamanla değişti. CDN'den ekleyebilirsiniz ya da seçtiğiniz js toolchain'i kullanabilirsiniz. hile yaptı

<script src="https://unpkg.com/[email protected]/dist/react.js"></script> 
<script src="https://unpkg.com/[email protected]/dist/react-dom.js"></script> 
İlgili konular