当前位置: 首页 > 面试题库 >

React JSX:渲染对象的嵌套数组

松和璧
2023-03-14
问题内容

我有一个带有以下渲染的组件:

  render() {

    const { policy } = this.props;

    let deployment = policy.Deployment;

    let value = policy.value;

    let policyLegend = deployment.policyLegend;

    let policyObj = this.valueToPolicy(policyLegend, value);

    console.log(policy);

    console.log(deployment);

    console.log(value);

    console.log(policyLegend);

    console.log(policyObj);

    return(

      <div>

        <Form onSubmit={ (event) => this.handleSubmit(event, this.props) }>

          {

            policyLegend.map(function(policy) {

              <div>

                <h3 key={ policy.id }>{ policy.displayName }</h3>

                {

                  policy.values.map(value => {

                    return(

                      <Form.Field key={ value.name }>

                        <label>{ value.displayName }</label>

                        <Checkbox toggle />

                      </Form.Field>

                    );

                  })

                }

              </div>

            })

          }

          <Button name={ 'Submit' } type='submit'>Submit</Button>

          <Button onClick={ this.props.onCancel }>Cancel</Button>

        </Form>

      </div>

    )

  }


<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

policyLegend是一个对象数组,每个对象内都有一个“值”数组。

构建应用程序时,我没有收到任何错误,但是在组件页面上没有任何显示。我不确定我要去哪里错,请多多指教,谢谢。


问题答案:

这是因为您没有在policyLegend映射内返回任何内容。试试这个:

{
    policyLegend.map((policy) => {
        return (
            <div>
                <h3 key={ policy.id }>{ policy.displayName }</h3>
                {
                    policy.values.map(value => {
                        return(
                            <Form.Field key={ value.name }>
                                <label>{ value.displayName }</label>
                                <Checkbox toggle />
                            </Form.Field>
                        );
                    })
                }
            </div>
        );
    })
}


 类似资料:
  • 问题内容: 我映射了多个对象。 我如何嵌套一个循环,以便首先遍历对象,然后遍历(在此示例中)城市?谢谢! 我的没有嵌套外观的渲染函数如下所示: 城市对象示例: 问题答案: 您可以使用嵌套映射来映射内部子对象以及

  • 问题内容: 我将如何呈现一个带有嵌套项目的菜单,而该嵌套项目的子对象数量不明,如下面的示例所示,该对象的反应如何? 问题答案: Codesandbox示例 您只需要递归调用Menu组件,其子组件即可显示并作为数据道具传递。

  • 问题内容: 我试图通过对象属性(此示例的名称)并在函数的轻松循环中列出它们。我发现这样做有些尴尬,但这似乎不正确。 这是我得到的: 有一个更好的方法吗?我只需要一个循环即可遍历对象数组,列出所需的属性并创建许多html节点之一。 问题答案: 您可以简单地在数组上 映射

  • 问题内容: 我有一些称为站的数据,它是一个包含对象的数组。 我想为每个数组位置渲染一个ui组件。到目前为止,我可以写 然后渲染 问题是我要打印所有数据。相反,我只想显示一个像这样的键,但是什么也不打印。 如何遍历此数据并为数组的每个位置返回一个新的UI元素? 问题答案: 您可以将工作站列表映射到ReactElements。 使用React> = 16时,可以从同一组件返回多个元素,而无需额外的ht

  • This experimental class provides a fast code path for rendering meshes with frequently updated geometry data. When the renderer encounters an instance of ImmediateRenderObject, it only takes care abou

  • 问题内容: 我的React组件有问题。我组件的嵌套子代似乎没有渲染。这是我的代码: 我在此文件的顶部有以下两行: 这是我的组件: 我努力了: 以完整的HTML标记调用组件(打开和关闭) 将组件嵌套在组件中(在index.jsx文件中) 我知道嵌套组件是可能的。我已经看到了。由于某种原因,它对我不起作用。 问题答案: 要允许组件包含子项并正确渲染它们,必须使用。这是传递到所有组件与孩子为道具,包含组