在 React JSX 中循环内循环

Posted

技术标签:

【中文标题】在 React JSX 中循环内循环【英文标题】:Loop inside of a loop, in React JSX 【发布时间】:2018-05-17 21:13:11 【问题描述】:

我正在尝试渲染反应,jsx,循环内的循环 如下:

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

这对任何其他建议都不起作用

【问题讨论】:

是渲染中的所有内容吗?你到底想返回什么?通常你想做所有的循环并在最后返回所有循环的结果。 【参考方案1】:

您忘记了第一个 map 语句中的包装 div:

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

【讨论】:

很好,是的,这就是问题所在!【参考方案2】:

试试这样:

render()
    return (
        .
        .
        .
        this.state.ans.map((item) => 
            return (
                <div>
                    this.state.quest.map((item1) =>  
                           return (item1); 
                        
                    )        
                   item
               </div>
            );
        )
    );

基本上这个想法是,你应该返回一个元素——在我的例子中是一个div(你不必使用最新的反应版本)。此外,使用 lambdas 以使 this 引用正确的上下文。

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

var that = this;

然后在 return 中使用 thatfunction() 语法。

【讨论】:

以上是关于在 React JSX 中循环内循环的主要内容,如果未能解决你的问题,请参考以下文章

在 React JSX 中循环

[react] 写例子说明React如何在JSX中实现for循环

如何在 React JSX 中循环遍历数组中的某些项目 [重复]

即使 .map 循环通过数组的所有索引,也无法在我的 React 应用程序中的 array.map 中显示我的 JSX 中的图像

this指向数据双向流传递参数JSX中循环React中样式路由引入资源的其它方式create-react-app脚手架事件处理获取数据UI框架推荐pc桌面应用electronjs

For 循环包含 React 中渲染内的链接