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

215
Views
la función desordena el orden al pasar el mouse sobre el elemento usando arrastrar y soltar reaccionar-dnd

Tengo este problema realmente molesto, donde una función se ejecuta dos veces y estropea todo por eso.

He creado un arrastrar y soltar, y lo hago para las tareas en etapas. Puede mover una tarea dentro de una etapa, pero también pasar de una etapa a otra. La función está construida de la manera que, si el artículo de inicio y el artículo de destino son start < item <= destination , entonces los artículos entre ellos moverán su número de orden -1 , si es start > item >= destination entonces es +1 , todo otras instancias es +0 , por lo que no se actualiza en absoluto.

Ahora el problema es que mientras muevo un elemento a otro elemento, la función se ejecuta. en la primera ejecución, se actualiza correctamente , pero en la segunda ejecución, toma los valores actualizados y los actualiza nuevamente

Entonces, si tengo esta matriz [1, 2, 3] y muevo 1 a 3 , deberían actualizarse así

 1 -> 3 (becomes destination order, so 3) 2 -> 1 (is start < current <= destination, so 2 - 1) 3 -> 2 (is start < current <= destination, so 3 - 1)

Pero luego se actualiza de nuevo y el resultado final es así

 1 -> 3 -> 3 2 -> 1 -> 0 3 -> 2 -> 1

o algo como esto

 1 -> 3 -> 3 2 -> 1 -> 0 3 -> 2 -> 0

donde dos elementos tienen el mismo orden u otro valor, como -1. Es muy molesto y estropea todo. No tengo idea de cómo corregir este comportamiento.

Sandbox: https://codesandbox.io/s/drag-and-drop-order-issue-ikhyo?file=/src/Task.store.js:2195-2265 Puedes jugar en la vista previa, arrastrar y soltar funciona, pero con el problema descrito anteriormente.

La función se encuentra en Task.store.js:88

Una de las conjeturas que tengo es que, aunque todavía tengo el objeto en la mano, también mantiene el estado que tenía originalmente.

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!