在React JSX中循环循环内部

时间:2017-12-04 11:53:19

标签: arrays reactjs loops jsx

我正在尝试使用react,jsx,循环内部的循环进行渲染 像吼叫:

{this.state.ans.map(function(item) {
    return (
        {this.state.quest.map(
            function(item1) {return (item1)}
        )}        
        {item}
    )
})}

这不适用于任何其他建议

2 个答案:

答案 0 :(得分:2)

您在第一个map声明中忘记了包装div:

render() {
  return (
    <div>
      {this.state.ans.map(item =>
        <div> // this div was missing
          {this.state.quest.map(quest => quest)}
          {item}
        </div>
      )}
    </div>
  )
}

答案 1 :(得分:2)

试试这样:

<script src='jquery-1.3.2.js'></script>
<script>
var jq132 = jQuery.noConflict();
</script>
<script src='jquery-1.4.2.js'></script>
<script>
var jq142 = jQuery.noConflict();
</script>

基本上这个想法是,你应该返回一个单独的元素 - 在我的例子中是render(){ return ( . . . {this.state.ans.map((item) => { return ( <div> {this.state.quest.map((item1) => { return (item1); } )} {item} </div> ); })} ); } (使用最新的反应版本你不必)。而且,使用lambdas以便div引用正确的上下文。

如果您不使用ES6,可以在this方法的开头添加以下语句:

render

然后在var that = this; 内使用that语法使用function(){}