jsx和React中的动态标签名称不会传递道具

时间:2019-08-06 05:47:32

标签: javascript reactjs

关注Dynamic tag name in jsx and React
我尝试了两个建议的答案,但似乎都没有通过任何道具!!
(以下是此问题的一个示例)[https://codesandbox.io/s/angry-torvalds-x7hcv?fontsize=14]
我做错了什么?
这是另一个使用React.createElement的例子,它与上面的例子一样不小,它也不起作用,似乎没有传递任何道具

outputElement = React.createElement(
  `${this.props.UI_Element.type}`,
  {
    ...globalRequiredProperties,
    ...this.props.UI_Element.config
  },
  ...UIChildren
)  

简而言之,我的最终目标是仅通过具有类型(或您可能会说的名字)来动态创建导入的组件。
更新01:
不断地寻找后,我发现了另一种方法,它使用了一个数组,在该数组中,您将字符串映射到实际组件,然后创建一个使用该映射来调用组件的标签
Here is an example
这似乎可以正常工作,但是我仍然希望避免手动创建地图,这意味着我仍然只希望仅使用string!来创建组件,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我一直在寻找一种方法,不仅可以动态导入组件,而且可以动态创建它,但是在寻找了一段时间后,我偶然遇到了一个图书馆,这样做无法实现动态标签的创建方式! !
该图书馆称为react-loadable
Here is an example
正如您所看到的,导入,组件标签和其他所有内容都是按照我想要的方式动态创建的,希望这对其他所有人也有帮助。