Javascript 尝试在渲染内部循环时对意外标记{}作出反应
我遵循react网站上关于如何在Javascript 尝试在渲染内部循环时对意外标记{}作出反应,javascript,reactjs,Javascript,Reactjs,我遵循react网站上关于如何在render内部循环的示例,我已经完成了我想要完成的任务,但我已经完成了 var AdminForumContainer = React.createClass({ getInitialState: function() { return { containers: [] } }, componentDidMount: function() { $.ajax({ method: 'GE
render
内部循环的示例,我已经完成了我想要完成的任务,但我已经完成了
var AdminForumContainer = React.createClass({
getInitialState: function() {
return { containers: [] }
},
componentDidMount: function() {
$.ajax({
method: 'GET',
url: '/admin/manage/forum/populate',
success: function(data) {
console.log(data);
}
})
},
render: function() {
return (
{this.state.containers.map(function(container) {
return (
<table className="containers">
<caption>{container.containername}</caption>
<thead className="containerTitle">
<tr>
<td colspan="2">Main Threads</td>
</tr>
</thead>
<thead>
<tr>
<td>Thread Name</td>
<td>Delete</td>
</tr>
</thead>
<tbody>
{
container.mainthreads.map(function(mainthread) {
return (
<tr>
<td>{mainthread.threadname}</td>
<td><button className="button alert">Delete</button></td>
</tr>
)
})
}
<tr>
<td><input type="text"/></td>
<td><button className="button" onclick={this.createMainThread(container.containerid)}>Create</button></td>
</tr>
</tbody>
<thead>
<tr>
<td colspan="2">Sub Threads</td>
</tr>
</thead>
<tbody>
{
container.mainthreads.map(function(subthread) {
return (<tr>
<td>{subthread.threadname}</td>
<td><button className="button alert">Delete</button></td>
</tr>)
})
}
<tr>
<td><input type="text"/></td>
<td><button className="button" onclick={this.createSubThread(container.containerid)}>Create</button></td>
</tr>
</tbody>
</table>
)
})}
)
}
});
var AdminForumContainer=React.createClass({
getInitialState:函数(){
返回{容器:[]}
},
componentDidMount:function(){
$.ajax({
方法:“GET”,
url:“/admin/manage/forum/populate”,
成功:功能(数据){
控制台日志(数据);
}
})
},
render:function(){
返回(
{this.state.containers.map(函数(容器)){
返回(
{container.containername}
主线
线程名称
删除
{
container.mainthreads.map(函数(mainthread){
返回(
{mainthread.threadname}
删除
)
})
}
创造
子线程
{
container.mainthreads.map(函数(子线程){
返回(
{subthread.threadname}
删除
)
})
}
创造
)
})}
)
}
});
但我明白了
Uncaught SyntaxError: http://localhost:8080/static/js/admin.jsx: Unexpected token (16:8)
14 | render: function() {
15 | return (
> 16 | {this.state.containers.map(function(container) {
| ^
17 |
18 | <table className="containers">
19 | <caption>{container.containername}</caption>
未捕获的语法错误:http://localhost:8080/static/js/admin.jsx: 意外标记(16:8)
14 |渲染:函数(){
15 |返回(
>16 |{this.state.containers.map(函数(容器)){
| ^
17 |
18 |
19 |{container.containername}
不确定这里出了什么问题。谢谢。那一行看起来没问题。这是下一行的问题。循环函数需要一个返回语句。例如
{this.state.containers.map(function(container) {
return (
<table className="containers">
我已经用新的代码更新了我的问题,我仍然得到同样的错误,在同一个地方你确定你的transpiler理解JSX吗?是的,我的所有其他.JSX文件都能正确地用于其他组件吗?我现在看到了这个问题,在我自己做了linting之后。回答更新。谢谢,如果你感兴趣,我已经发布了另一个问题。
render: function () {
return (
<div>
{this.state.containers.map(function(container) {