2015-10-14 10 views
25

Mam więc aplikacje Railsowe, zainstalowałem gem-re-szyny, ustawię go i spróbuj uruchomić aplikację testową.Uncaught ReferenceError: ReactDOM nie jest zdefiniowany

Świeżo zainstalowany, kiedy Bogate uruchomić cześć programu świat, ten błąd hapened:

Uncaught ReferenceError: ReactDOM is not defined

To jest moje reagują:

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

Jego zapisane wewnątrz/app/aktywa/JavaScripts/komponenty /test.js.jsx.

Rails 4.2.4 z Ruby 2.2.3

Odpowiedz

20

ReactDOM dostępny od 0.14.0, więc trzeba użyć React.render (bo masz React wersja 0.13.3) zamiast

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

lub zaktualizować swoją wersję React i obejmują ReactDOM

Changes in React 0.14

+1

To załatwiło sprawę, mam inny problem, ale myślę, że będę po prostu usunąć i zainstalować najnowszy klejnot reagować wersji manualy. Dzięki za odpowiedzi!!! – IvRRimUm

43

to może być kwestia pisowni - jest ReactDOM, a nie ReactDom.

To zmieniło się w czasie z nowym wydaniem reagować

+0

Dzieje się tutaj coś dziwnego. Nie jestem pewien, czy to powinno być poprawne w oparciu o dostępny tutorial (https://facebook.github.io/react/docs/tutorial.html), ale moja aplikacja faktycznie zaczęła działać, kiedy zmieniłem ReactDom na ReactDOM, gdy używam 15.0. 1 i ReactDom 15.0.1. – Grisk

+1

Niewiarygodne. Po prostu spędziłem godzinę, wyrywając moje włosy z błędnych założeń, dlaczego SystemJS (to właśnie używałem) mówił mi, że ReactDom nie został zdefiniowany. W końcu zobaczyłem tę odpowiedź, zastąpiłem pisownię ReactDOM i działa ... O, chłopcze. –

Powiązane problemy