Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试在渲染内部循环时对意外标记{}作出反应_Javascript_Reactjs - Fatal编程技术网

Javascript 尝试在渲染内部循环时对意外标记{}作出反应

Javascript 尝试在渲染内部循环时对意外标记{}作出反应,javascript,reactjs,Javascript,Reactjs,我遵循react网站上关于如何在render内部循环的示例,我已经完成了我想要完成的任务,但我已经完成了 var AdminForumContainer = React.createClass({ getInitialState: function() { return { containers: [] } }, componentDidMount: function() { $.ajax({ method: 'GE

我遵循react网站上关于如何在
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) {