Я использую компонент дерева пользовательского интерфейса материала, который представляет собой набор вложенных компонентов treeItem. Я хотел бы иметь триггер события rightClick для каждого отдельного узла дерева. Однако я использую onContextMenu для этого, поскольку мои компоненты вложены, когда я щелкаю правой кнопкой мыши внутренний компонент, событие щелчка правой кнопкой мыши запускается дважды: один раз для внутреннего компонента, который я только что щелкнул, и один раз для его родительского компонента. Есть идеи, как я могу остановить это?
мой код:
function Tree( props ) {
// Recursively generate tree items passed to component
const renderTree = ( nodes ) => (
<TreeItem key = {nodes.id} nodeId = {nodes.id} label = {nodes.name} onContextMenu = {rightClick}>
{Array.isArray( nodes.children ) ? nodes.children.map( (node) => renderTree(node) ) : null}
</TreeItem>
)
const rightClick = (event) => {
event.preventDefault();
alert("LOL")
}
return (
<div>
<TreeView
defaultCollapseIcon = {<ExpandMoreIcon />}
defaultExpandIcon = {<ChevronRightIcon />}
multiSelect>
{renderTree( props.treeItems )}
</TreeView>
</div>
);
}