它抛出我错误:找不到反应组件myTable
..我有反应..
var myTable = React.createClass({
render:function () {
return(
<div>
<table className="table scroll2" >
<thead>
<tr>
<td>Start Date</td>
<td>End Date</td>
<td>Hours</td>
<td></td>
</tr>
</thead>
{
this.props.list.map(function (item,i) {
return(
<tr>
<td>{item.startDate}</td>
<td>{item.endDate}</td>
<td>{item.workInHours}</td>
</tr>
);
})
}
</table>
</div>
);
}
});
angular.module('app').value('myTable',myTable);
我称之为:
<react-component name="myTable"></react-component>
答案 0 :(得分:1)
像这样声明你的组件(注意Pascal Casing
):
var MyTable = React.createClass({ ... })
使用这样的组件代替:
<MyTable />
正如Justin正确指出的那样,React类名必须以大写字母开头,否则它将被解释为html标记。因此,很多人都关注Pascal Case。
来自官方文档:
要渲染React Component,只需创建一个以大写字母开头的本地变量
答案 1 :(得分:0)
@Mario Tacke你是对的,除了它是一个反射元素的pascal cased,否则它将被解释为HTML标记元素而不是反应元素。
更多相关信息https://gist.github.com/sebmarkbage/f1f4ba40816e7d7848ad