Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
Los identificadores (origen y destino de Edge) no se crean automáticamente con Dagre y React-Flow. (Visualización de árboles)

Estoy creando una visualización de árbol de componentes con Dagre y React-flow y, lamentablemente, tengo algunas dificultades. Los bordes son correctos, todos tienen los identificadores correctos para el origen y el destino, pero si no uso el componente Handle proporcionado por react-flow-renderer , los controladores (puntos pequeños, puntos de conexión para los bordes) no aparecerán . Incluso cuando configuro el elemento targetPosition y sourcePosition . Creo que el.targetPosition y el.sourcePosition no hacen nada. La mayor parte de la implementación a continuación proviene del sitio web oficial de React-flow y no usan componentes de Handle . El identificador de identificador es nulo.

También puede encontrar una instantánea a continuación.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

  1. renderizando los elementos

     {elements && ( <ReactFlowProvider> <ReactFlow elements={elems} nodeTypes={{ reactComponent: ComponentNode }} onNodeMouseEnter={(_e, node) => highlightComponent(node, false)} onNodeMouseLeave={(_e, node) => removeHighlight(node)} onPaneClick={resetHighlight} > </ReactFlow> </ReactFlowProvider>
  2. Resto del código

     const positionElements = (elements, dagreGraph, direction) => { return elements.forEach((el) => { if (isNode(el)) { if (direction === GraphLabels.topToBottom) { dagreGraph.setNode(el.id, { width: nodeWidth, height: baseNodeHeight + el.data.linesOfCode, }); } } else { dagreGraph.setEdge(el.source, el.target); } }); }; export const getLayoutedElements = (elements, direction) => { const dagreGraph = new dagre.graphlib.Graph(); // building the graph dagreGraph.setDefaultEdgeLabel(() => ({})); dagreGraph.setGraph({ rankdir: direction }); positionElements(elements, dagreGraph, direction); dagre.layout(dagreGraph); return elements.map((el) => { if (isNode(el)) { const nodeWithPosition = dagreGraph.node(el.id); Vertical scaling if (direction == GraphLabels.leftToRight) { do this. } if (direction == GraphLabels.topToBottom) { el.targetPosition = 'bottom'; el.sourcePosition = 'top'; el.position = { x: someValue, y: someOtherValue, }; } } return el; }); };
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda