映射组件和字符串的两个数组,并在一个组件中渲染

罗杰·斯塔克斯

我想映射两个数组:

const social = ["Snapchat", "TikTok", "Dribbble", "Discord", "Facebook"];

const socialIcons = [<SnapchatIcon />, <DribbbleIcon />];

socialIcons阵列是所有组件

如何将这两个值作为道具发送到DummyRectangle组件中?这是我当前的代码:

  {social.map((s, index) => (
                  <div className="dummy_buttonsWrapper">
                    <DummRectangle social={s} socialIcons={i} />
                  </div>
                ))}

这是DummyRectangle组件:

function DummRectangle({ social, socialIcons }) {
  // console.log("---->", socialIcons);
  return (
    <div>
      <p>{social}</p>
      {<socialIcon/>} // render social icon component
    </div>
  );
}
曼塔斯·阿斯特拉(Mantas Astra)

要做到这一点,你不需要环绕你的标签socialIcon在你的DummRectangle另外,似乎根本没有传递socialIcon组件。如果我是你,我会做这样的事情:

以下两个示例是您要渲染的组件(在您的情况下- socialIcons

// Comp1.js
import React from "react";

const Comp1 = () => <div>actual Comp1</div>;

export default Comp1;
// Comp2.js
import React from "react";

const Comp2 = () => <div>actual Comp2</div>;

export default Comp2;

现在,在主要的Parent组件中,您可以通过使用索引访问组件的数组来简单地获取componentName(在您的情况下- social的当前组件然后,将其currentComponent作为道具传递到要渲染它的子组件。

// App.js
import React from "react";

import Comp1 from "./Comp1";
import Comp2 from "./Comp2";
import DummyComponent from "./DummyComponent";

export default function App() {
  const componentNames = ["Comp1", "Comp2"];
  const components = [<Comp1 />, <Comp2 />];

  return (
    <div className="App">
      {componentNames.map((name, index) => {
        const currentComponent = components[index];

        return (
          <div>
            <DummyComponent componentName={name} component={currentComponent} />
          </div>
        );
      })}
    </div>
  );
}

在您的Child组件中,只需将其括在方括号中即可进行渲染-无需添加标签。React将为您完成所有渲染。在你的情况下{ socialIcon }

// DummyComponent.js
import React from "react";

const DummyComponent = ({ componentName, component }) => {
  return (
    <div>
      <p>{componentName}</p>
      {component}
    </div>
  );
};

export default DummyComponent;

链接到上面的代码作为参考的Codesandbox:单击此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一组件中映射和渲染两个不同的数组-React

来自分类Dev

渲染一个包含组件的字符串

来自分类Dev

将两个不同的字符串拆分成一个数组?

来自分类Dev

Javascript检查字符串是否在两个数组中的任何一个中

来自分类Dev

MATLAB将两个数组(一个字符串单元格和一个数值向量)附加到一个.csv中

来自分类Dev

结合两个数组字符串组成一个列表

来自分类Dev

如何连接两个JSX片段或变量或字符串和组件(在Reactjs中)?

来自分类Dev

NSMutableArray创建每两个对象的子数组,并在末尾插入一个空白字符串

来自分类Dev

Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

来自分类Dev

如何在选择组件中映射字符串数组?

来自分类Dev

两个数组或一个HashMap将字符串转换为摩尔斯电码?

来自分类Dev

加入两个mysql表并在php中填充一个数组

来自分类Dev

如果是字符串。包含两个数字+“ x” +一个数字,则

来自分类Dev

比较两个文件并在其中一个中替换字符串

来自分类Dev

如何在两个特定字符串之间找到一个数字?

来自分类Dev

PHP:字符串,两个数组和4个循环的结果为0

来自分类Dev

JavaScript - 在一个文本框中添加两个数字(仍然是字符串)

来自分类Dev

如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性

来自分类Dev

使用字符串从另一个类计算两个数字

来自分类Dev

创建一个自定义字符串,并在grails中映射到sql

来自分类Dev

查找相似的字符串并在一个数据框中协调它们

来自分类Dev

如何将常见的字符串从两个不同的数组放到另一个数组

来自分类Dev

如何从由“,”和-分隔的字符串中形成两个数组?

来自分类Dev

即使 map() 渲染的组件不是兄弟组件,也可以避免在同一个数组上使用 .map() 两次吗?

来自分类Dev

从一个或两个数字中去除一个字符串

来自分类Dev

将两个链接和一个文本字符串放入单元格中?

来自分类Dev

在php字符串中删除两个以上的返回值和一个以上的空格

来自分类Dev

将两个字符串数组的值合并到一个串联的字符串数组中

来自分类Dev

使用awk提取文本文件中一列中两个字符串之间的第一个和最后一个数字,并区别那些数字?

Related 相关文章

  1. 1

    在同一组件中映射和渲染两个不同的数组-React

  2. 2

    渲染一个包含组件的字符串

  3. 3

    将两个不同的字符串拆分成一个数组?

  4. 4

    Javascript检查字符串是否在两个数组中的任何一个中

  5. 5

    MATLAB将两个数组(一个字符串单元格和一个数值向量)附加到一个.csv中

  6. 6

    结合两个数组字符串组成一个列表

  7. 7

    如何连接两个JSX片段或变量或字符串和组件(在Reactjs中)?

  8. 8

    NSMutableArray创建每两个对象的子数组,并在末尾插入一个空白字符串

  9. 9

    Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

  10. 10

    如何在选择组件中映射字符串数组?

  11. 11

    两个数组或一个HashMap将字符串转换为摩尔斯电码?

  12. 12

    加入两个mysql表并在php中填充一个数组

  13. 13

    如果是字符串。包含两个数字+“ x” +一个数字,则

  14. 14

    比较两个文件并在其中一个中替换字符串

  15. 15

    如何在两个特定字符串之间找到一个数字?

  16. 16

    PHP:字符串,两个数组和4个循环的结果为0

  17. 17

    JavaScript - 在一个文本框中添加两个数字(仍然是字符串)

  18. 18

    如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性

  19. 19

    使用字符串从另一个类计算两个数字

  20. 20

    创建一个自定义字符串,并在grails中映射到sql

  21. 21

    查找相似的字符串并在一个数据框中协调它们

  22. 22

    如何将常见的字符串从两个不同的数组放到另一个数组

  23. 23

    如何从由“,”和-分隔的字符串中形成两个数组?

  24. 24

    即使 map() 渲染的组件不是兄弟组件,也可以避免在同一个数组上使用 .map() 两次吗?

  25. 25

    从一个或两个数字中去除一个字符串

  26. 26

    将两个链接和一个文本字符串放入单元格中?

  27. 27

    在php字符串中删除两个以上的返回值和一个以上的空格

  28. 28

    将两个字符串数组的值合并到一个串联的字符串数组中

  29. 29

    使用awk提取文本文件中一列中两个字符串之间的第一个和最后一个数字,并区别那些数字?

热门标签

归档