| 12345678910111213141516171819202122232425262728293031323334353637 | import { memo } from 'react'import type { NodeProps } from 'reactflow'import type { Node } from '../types'import {  NodeComponentMap,  PanelComponentMap,} from './constants'import BaseNode from './_base/node'import BasePanel from './_base/panel'const CustomNode = memo((props: NodeProps) => {  const nodeData = props.data  const NodeComponent = NodeComponentMap[nodeData.type]  return (    <BaseNode { ...props }>      <NodeComponent />    </BaseNode>  )})CustomNode.displayName = 'CustomNode'export const Panel = memo((props: Node) => {  const nodeData = props.data  const PanelComponent = PanelComponentMap[nodeData.type]  return (    <BasePanel key={props.id} {...props}>      <PanelComponent />    </BasePanel>  )})Panel.displayName = 'Panel'export default memo(CustomNode)
 |