Problema : después de ordenar los elementos de la matriz, se pierde la posición de desplazamiento. Un hecho interesante es que se pierde la posición de aquellos elementos que se movieron al final de la matriz.
Pregunta : ¿Cómo no perder la posición de desplazamiento al ordenar una matriz de elementos?
Pasos para reproducir :
El comportamiento actual : el primer elemento guarda la posición de desplazamiento. Los elementos segundo y tercero restablecen la posición de desplazamiento.
El comportamiento esperado : todos los elementos deben conservar su posición de desplazamiento.
Código de ejemplo (para desplazar todos los elementos DOM y presionar "btn reverse"): https://stackblitz.com/edit/react-d2raex?file=src%2FApp.js
Con las key que está usando, le está pidiendo al componente List que represente los mismos nodos DOM pero en diferentes lugares. Tiene que quitarlos para hacer eso. La interfaz del Element DOM no proporciona ninguna API para reordenar los elementos.
Discusión original aquí: https://github.com/facebook/react/issues/24640