Logo de Código Facilito
  • Inicio
  • Replays
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso para crear Single Page Applications con React!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso para crear Single Page Applications con React

Video Los desafíos de implementar scroll infinito

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

Aplicaciones como Facebook, TikTok, Instagram, han popularizado la idea de un feed que nunca termina, es infinito. La forma en cómo funciona es que inicialmente se cargan en una lista, los primeros registros a mostrar y conforme el usuario se acerca al fin de la página, se cargan nuevos datos.

Por experiencia propia, quizás te recuerdes navegando de arriba a abajo por varios minutos u horas en una de estas aplicaciones. En ese tiempo, la aplicación ha comunicado muchísimas publicaciones entre tu computadora y el servidor de datos, toda esta información es visible en porciones, dependiendo de si haces scroll hacia abajo o hacia arriba en la página, por lo que se deben implementar estrategias para cuidar el rendimiento, sin afectar la experiencia de usuario.

Uno de los patrones existentes para manejar listas grandes en un control de scroll infinito, es guardar de manera virtual los elementos de la lista que no se ven, y mostrar únicamente los que están en el área visible. Sistemas de UI como el de Android o iOs, implementan esta característica de manera nativa, sin embargo, para la web es necesario hacer este trabajo.

El resultado de no implementar una estrategia como la mencionada, es una página llena de nodos del DOM, la gran mayoría de ellos no visibles, que terminan por alentar la página y el dispositivo en general. Ya que el navegador debe tener control de todos estos nodos aún cuando no están visibles.

Decimos que virtualizamos una lista de scroll infinito, cuando almacenamos en una estructura como un arreglo, la información y los elementos de cada fila de la lista, traduciendo a nodos del DOM, sólo aquellas filas que están en la porción visible del scroll, y manteniendo en memoria virtual aquellos que no.

Conforme el usuario se mueve en la página, los nodos del DOM existentes se sustituyen por las filas que deberían aparecer visibles.

Todo esto implica un enorme trabajo de coordinación, cálculo de distancias y medidas, reemplazo eficiente de nodos y mucho más. Implementar una estrategia como ésta por cuenta propia, puede ser un trabajo muy propenso a errores.

Afortunadamente, existen soluciones Open Source disponibles, para el caso de React, existe React Virtualize, React lazyload, React Infinite, etc. en el resto de éste bloque, usaremos React Virtualize en la implementación de scroll infinito.

Continuemos.

  • check_circle_outline
    Módulo 1 | 6 clases

    Introducción

    expand_more
  • check_circle_outline
    Módulo 2 | 8 clases

    Routing en el cliente

    expand_more
  • check_circle_outline
    Módulo 3 | 13 clases

    Autenticación de usuarios

    expand_more
  • check_circle_outline
    Módulo 4 | 10 clases

    Consumir servicios web

    expand_more
  • check_circle_outline
    Módulo 5 | 19 clases

    Styled components

    expand_more
  • check_circle_outline
    Módulo 6 | 7 clases

    Scroll infinito

    expand_more
    • done_all

      Clase 1

      Los desafíos de implementar scroll infinito

    • done_all

      Clase 2

      Configurando Infnite Loader y List

    • done_all

      Clase 3

      Mostrar videos en el contenedor de carga infinita

    • done_all

      Clase 4

      Paginación de videos

    • done_all

      Clase 5

      Integrar paginación con el contenedor de carga infinita

    • done_all

      Clase 6

      React Devtools

    • done_all

      Clase 7

      Detalles finales de la carga infinita

  • check_circle_outline
    Módulo 7 | 4 clases

    Deploy a producción

    expand_more
  • check_circle_outline
    Módulo 8.-

    Examen del curso

    expand_more
    • done_all

      Examen

      Examen final del curso

Los desafíos de implementar scroll infinito

arrow_back Siguiente arrow_forward
Curso para crear Single Page Applications con React