Mam plik commentBox.jsx, z następującego kodu:React klasa nie jest zdefiniowana (text/Babel)
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
<h1>Comments</h1>
</div>
);
}
});
W index.html, chcę, aby uczynić ten składnik:
<div id="content"></div>
<script type="text/babel" src="scripts/commentBox.jsx"></script>
<script type="text/babel">
ReactDOM.render(<CommentBox />, document.getElementById('content'));
</script>
Ale dostaję błąd: "CommentBox nie jest zdefiniowany"; Dlaczego to nie działa? Jeśli umieściłem cały kod w jednym pliku (commentBox.js) - to zadziała.
To zadziałało dla mnie. Pamiętaj, aby użyć '
CommentBox nie jest zadeklarowany. Jeśli chcesz, to w ten sposób, a następnie kody powinny iść tak:
Źródło
2015-12-09 11:31:07 vistajess
Co możesz powiedzieć o obiekcie ReactDom w tym kodzie? Czy nie zostało to zadeklarowane? –
ReactDom jest biblioteką używaną do renderowania komponentu do DOM i powinna zostać zaimportowana do kodu, ale sam komponent, taki jak CommentBox, również nie jest zdefiniowany. – vistajess
To jest zła odpowiedź)) CommentBox dodałem przed wywołaniem ReactDOM.render. Musi istnieć w globalnym zasięgu obiektu okna –