Javascript React js:为什么html没有呈现?

Javascript React js:为什么html没有呈现?,javascript,reactjs,Javascript,Reactjs,我曾尝试在web浏览器中运行此代码,但它显示一个空白页。你能解释一下为什么html在web浏览器中打开时不呈现吗?我哪里做错了?谢谢 我的反应页面 var myComponent=React.createClass({ //组件类必须具有返回一些HTML的呈现函数 render:function(){ 返回( 这是一个核心组成部分 ); } }); React.render(,document.getElementById('content')); 正如@Hugo Dozois所说。Reac

我曾尝试在web浏览器中运行此代码,但它显示一个空白页。你能解释一下为什么html在web浏览器中打开时不呈现吗?我哪里做错了?谢谢


我的反应页面
var myComponent=React.createClass({
//组件类必须具有返回一些HTML的呈现函数
render:function(){
返回(
这是一个核心组成部分
);
}
});
React.render(,document.getElementById('content'));

正如@Hugo Dozois所说。React编译名称以小写字母开头的组件,就像它们是HTML元素一样

React.createElement("myAnotherComponent", null)
您可以使用开发工具运行代码段以查看生成的代码。无论如何,正如警告所说,您不应该在生产中使用
JSXTransformer


我的反应页面
var myAnotherComponent=React.createClass({
render:function(){
抛出新错误(“从未实际调用”);
返回(测试)
}
});
var MyComponent=React.createClass({
render:function(){
log('Render MyComponent');
调试器;
返回(这是一个核心组件);
}
});
React.render(,document.getElementById('content'));

您遇到的问题是组件的情况
myComponent

报告指出:

要呈现HTML标记,只需在JSX中使用小写标记名:

要呈现React组件,只需创建以大写字母开头的局部变量:

您可以在此处阅读更多内容:

因此,要解决您的问题,只需将名称从
myComponent
更改为
myComponent

然而,为了与其他人达成一致,放弃JSX转换器,使用一种更先进的方法将JSX编译成常规JS要明智得多。有很多方法可以做到这一点:吞咽,网页等。。。只要找到最适合你的


我的反应页面
var MyComponent=React.createClass({
//组件类必须具有返回一些HTML的呈现函数
render:function(){
返回(
这是一个核心组成部分
);
}
});
React.render(,document.getElementById('content'));

我相信您需要reactDOM在浏览器中执行此操作,因为您现在没有任何东西可以阅读jsx。另外,我建议使用更新的版本,如果你可以。。。至少15或14岁。如果你不想编译它,你也不必使用JSX。我已经包含了这个链接,但仍然得到一个空白页面是的,这是react 15.3的react dom,你现在在你的示例中使用的是0.13.3。您需要使用reactDOM本身和浏览器辅助程序进行渲染。看看这个运行react的fiddle,例如-,有react、reactDOM和一个react-babel脚本,它是为fiddle(transfile)编写的。react文档用示例解释了所有这些。您的问题是需要读取和传输JSX。很多人喜欢在构建过程中使用babel来实现这一点。据我所知,这不是一个bug,而是经过设计的。@HugoDozois可能是。如果他们不这样做,你将不得不保留所有可能的html5标记的列表。。。其中包括完全定制的,所以基本上是不可能的。通过这种方式,所有小写字母都按原样呈现给dom,大写字母则是用户定义的组件。(我正试图找到源代码)“SX标记名约定(小写名称指内置组件,大写名称指自定义组件)。”他说,一定有更好的源代码!哦,是的,这里有更好的消息来源