Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 如何使用循环构造JSX_Javascript_Reactjs - Fatal编程技术网

Javascript 如何使用循环构造JSX

Javascript 如何使用循环构造JSX,javascript,reactjs,Javascript,Reactjs,我是React/Javascript新手,正在尝试使用循环构建JSX“树”,以避免硬编码数据 我想我的主要问题在于无法零碎地构造JSX;VisualStudio代码需要顶级开始JSX标记的结束标记。在这种情况下。但是,由于我正在建造它的碎片,这是不可能的 所以我试着从我的逻辑中取出,然后在渲染函数中使用,在这些标签中间有一个单独的函数调用。但那留给我的是 index.js:2178 Warning: Functions are not valid as a React child. This m

我是React/Javascript新手,正在尝试使用循环构建JSX“树”,以避免硬编码数据

我想我的主要问题在于无法零碎地构造JSX;VisualStudio代码需要顶级开始JSX标记的结束标记。在这种情况下。但是,由于我正在建造它的碎片,这是不可能的

<>所以我试着从我的逻辑中取出,然后在渲染函数中使用,在这些标签中间有一个单独的函数调用。但那留给我的是

index.js:2178 Warning: Functions are not valid as a React child. This may happen if you return a Component instead of <Component /> from render. Or maybe you meant to call this function rather than return it.
    in div (created by Container)
    in Container (at RequestPlaceholders.js:45)
    in div (at RequestPlaceholders.js:41)
    in RequestPlaceholders (at App.js:80)
    in div (at App.js:79)
    in div (at App.js:65)
    in div (at App.js:64)
    in App (at index.js:8)
如果我没有准确地表达我的问题,我的代码就在这里

有人能告诉我正确的方向吗?

您需要调用renderPlaceholders函数

render() {
  return (
    <div>
      <h2 className="subtitle">
        {this.props.selectedAPI} Placeholders
      </h2>
      <Container>
        {this.renderPlaceholders()}
      </Container>
    </div>
  );
}

需要是{this.renderPlaceholders}与您的错误无关,但请记住向行组件添加键,例如@Kunukn只是为了我的教育。。。为什么?@runelynx键有助于识别哪些项目已更改、已添加或已删除。应该为数组中的元素提供键,以给元素一个稳定的标识。现在,它不会出错。但一旦Chrome进入这个循环逻辑,应用程序就会死掉。。。最终,由于内存即将耗尽,Chrome暂停处理。在我的循环中有什么值得崩溃的吗?@runelynx我已经更新了第二个问题的答案
for (var i = 0; i < this.props.apiPlaceholders.length; i+=2)