Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

312
Views
React-flow & dare: reactFlowInstance.fitView() ajusta la instancia en la pantalla después de hacer clic en el segundo botón. (1st solo cambia la dirección del gráfico)

He intentado diferentes formas de implementar esta belleza, pero parece que no funciona. Mi problema es que cuando presiono el botón, quiero cambiar el diseño del gráfico, lo cual sucede y me alegro por ello, pero también quiero que mi gráfico esté centrado (encajar) en la pantalla. El primer clic del botón cambia la dirección, pero no se ajusta a la instancia. Para ajustar la instancia, necesito presionar el botón por segunda vez. ¿Supongo que tiene que ver con JS asíncrono o? Este es mi código:

 const onChangeTreeLayout = useCallback( (treeLayoutDirection) => { const layoutedElements = getLayoutedGraphElements( elements, treeLayoutDirection, setTreeLayoutDirection ); setElements(layoutedElements); }, [elements] );

Luego, cómo obtengo la instancia y la desencadeno a continuación: Nota: no puedo usar el gancho useReactFlow() ya que decidimos no migrar a una versión más nueva. Pero useZoomPanHelper hace su trabajo de todos modos.

 const reactFlowInstance = useZoomPanHelper(); <button onClick={() => { onChangeTreeLayout('TB'); reactFlowInstance.fitView(); }} > Horizontal Layout </button>

También intenté poner la función .fitView() dentro de onChangeTreeLayout pero obtengo el mismo comportamiento.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!