¿En este ejemplo no se debería hacer el return del <code>useEffect()</code> para desconectar el observer cuando el componente se <em>desr...

Pregunta de la clase:
Usando Intersection Observer
Joseph Manuel Salen Pantoja

Joseph Manuel Salen Pantoja

Pregunta
studenthace 4 años

¿En este ejemplo no se debería hacer el return del

useEffect()
para desconectar el observer cuando el componente se desrenderice?

useEffect(() => { const observer = new window .IntersectionObserver((entries) => { const { isIntersecting } = entries[0] if (isIntersecting) { console.log('true') setShow(true) observer.disconnect() } }) observer.observe(ref.current) return () => observer.disconnect() // para desconectar el observer? }, [ref])
1 respuestas
para escribir tu comentario
    Fernando Palacios Palacios

    Fernando Palacios Palacios

    studenthace 4 años

    el component puede dejar de existir en el DOM (quizas porque hemos cambiado de seccion de pagina) y aun no haber aparecido en el viewport, por lo que el observer aun esta activo (push de datos en el (entries)) pero la ref ya se ha perdido (ref.current == null ) ....... asi que totalmente de acuerdo con tu suposicion.

Curso de React Avanzado

Curso de React Avanzado

Crea aplicaciones móviles en ReactJS. Genera consultas en GraphQL y gestiona usuarios. Implementa Testing básico con Cypress y convierte tus apps en PWA con herramientas como Hooks, React Apollo, Reach Router y JSON Web Tokens.

Curso de React Avanzado
Curso de React Avanzado

Curso de React Avanzado

Crea aplicaciones móviles en ReactJS. Genera consultas en GraphQL y gestiona usuarios. Implementa Testing básico con Cypress y convierte tus apps en PWA con herramientas como Hooks, React Apollo, Reach Router y JSON Web Tokens.