你如何从 React 组件中获取标签

How do you get the Tag from a React Component

不是 HTML DOM 元素标签,JSX 标签,react class 名称。

我正在制作一个编辑器,当我向 canvas 项数组添加内容时,我需要检查它是什么,然后调用正确的方法。

这是一个伪代码:

changeSelectedItem( nodes ){
        console.log(nodes)
        console.log(nodes[0])
        console.log(nodes[0].nodeName)

        switch(nodes[0] react component name){
            case text:
                selectText
            case image:
                selectimage
            case shape:
                selectShape
        }

这是我添加到项目数组的新组件的示例

在这种情况下,我想从 let new_image 获取 KonvaImage(我的自定义反应 class 名称),但我不知道如何。

解决您的问题的最佳方法是将形状或您的状态更改为如下所示:

[
  {
    type: 'KonvaImage',
    item: <KonvaImage image={image}/>
  },
  {
    type: 'Text',
    item: '....'
  },
  ...
]

然后你这样做:

switch(nodes.type) {
   case 'Text':
     ...
   case 'KonvaImage':
     ...
   etc...
}