import React, { useEffect, useState } from 'react'; import NodeGroupItem from '../interface/NodeGroupItem'; interface ClickFunc { (node: NodeGroupItem): void; } interface Props { nodes: NodeGroupItem[]; itemWidth: number; itemHeight: number; selectedKey?: string; handleClickNode: ClickFunc; } export default function TimeNodeColumn({ nodes, itemWidth, itemHeight, selectedKey, handleClickNode, }: Props) { const [hoverKey, setHoverKey] = useState(null); useEffect(() => { setHoverKey(null); }, [nodes]); return (
{nodes.map((node, index) => (
setHoverKey(node.node._key)} onMouseLeave={() => setHoverKey(null)} onClick={(e: React.MouseEvent) => { e.stopPropagation(); handleClickNode(node); }} > {node.node.itemRender()}
))}
); }