React class 未定义 (text/babel)
React class is not defined (text/babel)
我有 commentBox.jsx 个文件,代码如下:
var CommentBox = React.createClass( {
render: function () {
return (
<div className="commentBox">
<h1>Comments</h1>
</div>
);
}
});
在index.html中,我想渲染这个组件:
<div id="content"></div>
<script type="text/babel" src="scripts/commentBox.jsx"></script>
<script type="text/babel">
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
但我收到错误消息:"CommentBox is not defined";为什么这不起作用?
如果我将所有代码放在一个文件中 (commentBox.js) - 它会起作用。
未声明 CommentBox。如果你想要那样,那么你的代码应该是这样的:
<script type="text/babel">
var CommentBox = React.createClass( {
render: function () {
return (
<div className="commentBox">
<h1>Comments</h1>
</div>
);
}
});
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
您需要在自己的脚本块中声明 var CommentBox;
在其他两个之上。您的变量范围不会在您的脚本导入之间共享。
<div id="content"></div>
<script>
var CommentBox;
</script>
<script type="text/babel" src="scripts/commentBox.jsx"></script>
<script type="text/babel">
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
您还可以从 jsx
文件中删除 var
。
我有 commentBox.jsx 个文件,代码如下:
var CommentBox = React.createClass( {
render: function () {
return (
<div className="commentBox">
<h1>Comments</h1>
</div>
);
}
});
在index.html中,我想渲染这个组件:
<div id="content"></div>
<script type="text/babel" src="scripts/commentBox.jsx"></script>
<script type="text/babel">
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
但我收到错误消息:"CommentBox is not defined";为什么这不起作用? 如果我将所有代码放在一个文件中 (commentBox.js) - 它会起作用。
未声明 CommentBox。如果你想要那样,那么你的代码应该是这样的:
<script type="text/babel">
var CommentBox = React.createClass( {
render: function () {
return (
<div className="commentBox">
<h1>Comments</h1>
</div>
);
}
});
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
您需要在自己的脚本块中声明 var CommentBox;
在其他两个之上。您的变量范围不会在您的脚本导入之间共享。
<div id="content"></div>
<script>
var CommentBox;
</script>
<script type="text/babel" src="scripts/commentBox.jsx"></script>
<script type="text/babel">
ReactDOM.render(<CommentBox />, document.getElementById( 'content' ) );
</script>
您还可以从 jsx
文件中删除 var
。