♪♪ Hoy quiero hablarles sobre la representación y si vamos a sincronizar o no. Hubo un error de tipeo gracioso cuando esto se compartió por primera vez en Twitter, donde en realidad era S-I-N-K, y yo pensaba, oh no, ¿es eso lo que están prediciendo para mi charla? Pero esperemos que no. Entonces, ¿sincronizar o no sincronizar? Vamos a profundizar en esto. Debería ser, con suerte, una pregunta fácil de responder.
¿Cuál de estas rejillas es mejor? Entonces, a la izquierda, tenemos Agigrid funcionando en la versión 17 de React, donde tienes este desplazamiento suave y agradable, puedes hacer clic en la barra de desplazamiento, y las filas simplemente aparecen en el lugar correcto. Pero luego actualizas a la versión 18. Entonces, esta no es una versión en vivo de Agigrid, esta es una versión antigua que tenía este problema. Haces clic en la barra de desplazamiento y las filas parpadean, o empiezas a desplazarte hacia arriba y hacia abajo y las filas se borran. Y es como, como puedes ver, esto no es lo que queremos que sea la experiencia del usuario. Entonces, vamos a tener que intentar averiguar qué está pasando.
Entonces, como saben, soy Steve, y trabajo en Agigrid, estoy en el equipo central de la rejilla. Y entonces, lo que estamos tratando de hacer en Agigrid es crear la mejor tabla de datos de JavaScript, ya sea en React o en cualquiera de los otros frameworks. Hay una versión gratuita así como la Enterprise, y si quieres saber más, ven a hablar con nosotros en el stand. Nos encantaría hablar contigo sobre todo ello. Pero basta de eso, vamos a tratar de aclarar lo que estamos tratando de arreglar y cómo ha cambiado React, cómo podemos tratar de averiguar cuáles son esos cambios, y luego cómo podemos arreglarlo. Entonces, el primer error que vamos a ver es que al hacer clic en la barra de desplazamiento se produce un flash. Veamos, ¿puedes ver eso? Sí. Y luego, el segundo problema que tenemos es que cuando estás desplazándote, se borran por completo. Bien, y entonces, esta es la única línea de código que es diferente entre esos dos ejemplos. Entonces, hemos actualizado a la versión 18, y luego cambiamos a CreateRoot. Entonces, cuando estás usando render, es el equivalente, básicamente, de la representación de la versión 17, pero ahora con la versión 18, cambia a CreateRoot, y luego vas a empezar a habilitar todas estas características de representación concurrente y agrupación automática. Y eso es lo que vamos a hacer. Vamos a ir a cazar errores. Entonces, lo primero que hay que hacer es, bueno, vamos a ver el código que está causando las actualizaciones para la carretera, y no hay nada emocionante aquí. Es solo estado. Entonces, cuando la carretera está cambiando, te desplazas y necesitas mirar nuevas carreteras. Vamos a actualizar qué carreteras se muestran. Entonces, no hay nada realmente, quiero decir, inusual allí, o complicado, o algo que debería estar saliendo mal. Pero creo que hay algunos sospechosos principales para este problema en la versión 18, representación concurrente y también agrupación automática. Y lo que vamos a hacer es, y ver si son estas dos características las que ahora están interactuando negativamente con la virtualización de filas de Aggrid.
Comments