- Dikirim
- 22 Agustus 2026 pukul 19.34 UTC
- Penulis
- kamo
- Commit
- 935a18b
Menarik panel kadang-kadang melemparkan React # 185 dan meninggalkan scrolling halaman ke dasar selamanya, membatalkan setiap upaya untuk menggulung kembali. Satu penyebab, dua gejala. 'onDragOver' reorders array nyata untuk menarik "insert antara" preview; SortableContext re-measures every droppable ketika item berubah mid- drag; fresh rects re-run deteksi tabrakan dan dapat nama sebuah panel yang berbeda sebagai 'over'; berubah 'atas' kebakaran onDragOver lagi - tanpa masukan penunjuk sama sekali. Yang diselesaikan sementara setiap panel adalah ukuran yang sama, yang adalah apa itu ketika pertunjukan langsung mendarat. Panel kemudian menjadi 1-4 kolom lebar dan 1-4 setengah baris tinggi, sehingga swap mengemas seluruh grid dan panel di bawah diam sinkronisasi React meledak sampai nested- update perjalanan batas, yang merupakan # 185 dilaporkan dari barang bekas sendiri. Gulungan pelarian adalah reruntuhan kecelakaan itu. dnd-kit auto- scroller dimulai sebuah interval scrollBy 5ms dari dalam sebuah efek, dan useInterval dalam @ dnd-kit / utilitas tidak memiliki pembersihan unmount - interval hanya dibersihkan jika bahwa efek berjalan lagi, yang melemparkan setengah drag mencegah. Tidak ada di luar Dnd- kit dapat membersihkannya, sehingga satu-satunya obat adalah tidak melempar. Gated pada dua penjaga independen: satu urutan ulang per bingkai animasi, yang menolak gema karena cascade adalah sinkron, dan perjalanan sejak urutan ulang terakhir, karena gema membawa delta dari urutan ulang yang menyebabkan Namun terlambat tiba. Keduanya murni dan tertutup, termasuk properti yang penting - sebuah 500- iterasi cascade selama sebuah penunjuk stasioner menghasilkan persis satu reorder.