React 渲染组件数组

2024-01-01

快问。有人知道如何渲染组件数组吗?试图让开发人员更容易地更改特定组件。 (它就像一个仪表板)。

组件列表文件

import React from 'react';
export default [
    <ComponentOne/>
    <ComponentTwo/>
];

仪表板组件

import React from 'react';

import components from './../../components';

export default class Dashboard extends React.Component 
{
    render = () => {
        //Want to render the array of components here.
        return (
            <div className="tile is-parent">
                {components}
            </div>
        );
    };
}

问题是我有一系列组件需要添加密钥。然而!我似乎也无法向组件添加密钥,不知道如何解释它,所以这是我尝试过的代码:

{components.map((component, key) => (
    <component key={key}/>
}

如果我执行上述操作,我不会收到“您必须应用密钥”错误,但没有任何呈现?我猜这是因为“组件”不存在或者有些奇怪的东西。

我也尝试过component.key = key;但显然它不允许我对这种类型的对象执行此操作?

我想我的后备方案是返回一个简写函数而不是数组,但出于某种原因我喜欢该数组?对于青少年来说似乎更简单。


您是否考虑过使用新的反应片段 https://reactjs.org/docs/fragments.html? (在 v16 中)

这将是最简单的解决方案,因为它将绕过整个数组/键问题。

如果您需要传递密钥,那么我建议只要求组件拥有密钥。这就是 React 的工作原理,因此我不建议您将此行为隐藏在可能无法预测的界面后面。

如果您确实需要这样做,那么您可以使用React.cloneElement https://reactjs.org/docs/react-api.html#cloneelement克隆元素并注入新属性:

React.cloneElement(element, { key: 'foo' });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 渲染组件数组 的相关文章

随机推荐

  • 在较长的序列中查找子序列

    我需要在其他大序列中找到一个序列 例如 1 3 2 3 存在于 1 3 2 3 4 3 and 5 1 3 2 3 有什么办法可以快速完成IEnumerable或与其他东西 与 dlev 类似 但这也可以处理 1 1 1 2 Contain
  • 如何访问 Pandas 系列中的最后一个元素

    让我们考虑以下数据框 import pandas as pd d col1 1 2 3 col2 3 4 5 df pd DataFrame data d 如果我想访问 pandas 系列中的第一个元素df col1 我可以简单地去df c
  • LinkedBlockingQueue 具有快速 contains(Object o) 方法?

    简而言之 我正在编写一个需要BlockingQueue实现既提供 FIFO 添加 删除 又提供快速contains方法 我将其称为 TON LinkedBlockingQueue让我大部分时间都到了那里 但看起来它contains方法以线性
  • 如何更改/覆盖 Vuetify js 中禁用字段的默认颜色?

    默认情况下 vuetify 对禁用的文本字段 项目应用浅灰色阴影 我如何将这种颜色覆盖为我想要的颜色 目前我正在使用禁用选择器 disabled color 000000 important 这仅有助于更改文本字段文本颜色的颜色 我的表单中
  • C 的 strtok() 和只读字符串文字

    char strtok c har s1 const char s2 重复调用此函数将字符串 s1 分解为 标记 即 字符串被分成子字符串 每个都以 0 结尾 其中 0 替换任何字符 包含在字符串 s2 中 第一次通话 使用要标记为 s1
  • Android - 如何以编程方式将证书存储在密钥库中?

    我正在制作一个金融交易 Android 应用程序 它需要 SSL 身份验证 我成功地完成了它 Android 和 Tomcat 之间的握手 我使用 keytool 和 openSSL 生成服务器和客户端证书 Tomcat 证书格式为 JKS
  • HTTP_HOST 服务器变量是否始终已定义?

    是服务器变量HTTP HOST总是为所有服务器定义 或者例如在 IIS 中使用其他名称定义 甚至根本没有定义 另外 该值总是被定义的 或者某些主机没有定义该值 还有其他方法可以检索该值吗 引用手册 HTTP HOST 是 Contents
  • 在多面 ggplot 中自动勾选最大值和最小值

    我试图在多面 ggplot 中标记每个 x 轴的最大值和最小值 我有几个具有不同 x 尺度和相同 y 尺度的面 并且 x 轴刻度标签相互重叠 我正在寻找一种方法来标记每个方面的最小值和最大值 而不是手动确定每个方面 x 轴的限制和中断 使用
  • 如何在 java 正则表达式中转义美元和大括号(即 ${title})?

    即你如何做到这一点 String string Sample string with title to be inserted string replaceAll title title 以下所有情况都会导致错误 string replac
  • 用最少的代码字符创建、排序和打印 100 个随机整数的列表

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 您可以编写最少的代码来创建 排序 升序 和打印 100 个随机正整数的列表 我所说的最少代码量
  • 如何减少 TensorFlow 循环中的内存消耗?

    我在 TensorFlow 中有一个循环 如下所示 with tf device gpu 1 losses for target output in zip targets lstm outputs logits tf matmul W o
  • 输入触发按键事件两次

    这个问题之前已经被问过 回答过 大部分 但是我尝试了三件事来阻止事件冒泡 但没有任何效果 return false e stopPropagation e preventDefault 返回 false 应该照顾其他两个 对吗 这是 HTM
  • SWXMLHash 解析数据对象

    我尝试与SWXMLHash为了模拟从网站下载的数据进行解析 我在 Playground 中创建了一个包含数据的文件 我收到的回复是URLSessionManager数据看起来类似于 3c3f786d 6c207665 7273696f 6e
  • Gmail API 返回 403 错误代码和“<用户电子邮件> 的委派被拒绝”

    检索邮件时 一个域的 Gmail API 失败并出现以下错误 com google api client googleapis json GoogleJsonResponseException 403 OK code 403 errors
  • 使用 Objective c 上传视频

    我现在要构建一个非常复杂 至少对我来说 的应用程序 基本应用程序如下 一个带有两个选项卡的选项卡栏应用程序 一个用于本地视频 另一个用于流媒体视频 在这个阶段很简单 但现在我必须将视频 从 iPhone 图库中获取或由用户拍摄 上传到服务器
  • 使用node或express返回json格式的正确方法

    我的问题实际上是复制自使用 Node 或 Express 返回 JSON 的正确方法 https stackoverflow com questions 19696240 proper way to return json using no
  • 如何更改 ImageView 的图像? [复制]

    这个问题在这里已经有答案了 我刚刚开始学习android 我不知道如何改变一个人的形象ImageView 即它有一些在布局中设置的图像 但我想通过编码更改该图像我应该怎么做 这是 xml 文件
  • 带偏移量的 Linux 头/尾

    Linux 中有没有一种方法可以询问 Head 或 Tail 但需要忽略额外的记录偏移量 例如 如果文件example lst包含以下内容 row01 row02 row03 row04 row05 我用head n3 example ls
  • 在页面加载时使 div 晃动?

    有没有办法让 div 框在页面加载时抖动 就像也许只有一次或两次 Update 在这个 URL 上 我的页面加载仍然无法正常工作 我做错了什么 http tinyurl com 79azbav http tinyurl com 79azba
  • React 渲染组件数组

    快问 有人知道如何渲染组件数组吗 试图让开发人员更容易地更改特定组件 它就像一个仪表板 组件列表文件 import React from react export default