Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16001 | Rev 16004 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 16001 Rev 16003
Línea 1... Línea 1...
1
import React, { useRef, useEffect } from "react";
1
import React, { useRef, useEffect, useState } from "react";
2
import Message from "./Messages";
2
import Message from "./Messages";
Línea 3... Línea 3...
3
 
3
 
Línea 4... Línea 4...
4
import styles from "../chat.module.scss";
4
import styles from "../chat.module.scss";
-
 
5
 
5
 
6
const MessagesList = ({ messages, onIntersection, isLastPage, scrollRef }) => {
Línea -... Línea 7...
-
 
7
  const [loading, setLoading] = useState(false);
-
 
8
  const loadMoreEl = useRef();
-
 
9
 
-
 
10
  const handleIntersection = (target) => {
-
 
11
    setLoading(true);
6
const MessagesList = ({ messages, onIntersection, isLastPage, scrollRef }) => {
12
    onIntersection(target);
7
  const loadMoreEl = useRef();
13
  };
Línea 8... Línea 14...
8
 
14
 
9
  useEffect(() => {
15
  useEffect(() => {
10
    const observer = new IntersectionObserver(onIntersection);
16
    const observer = new IntersectionObserver(handleIntersection);
Línea 11... Línea 17...
11
 
17
 
12
    if (loadMoreEl.current) {
18
    if (loadMoreEl.current) {
13
      observer.observe(loadMoreEl.current);
19
      observer.observe(loadMoreEl.current);
-
 
20
    }
-
 
21
 
-
 
22
    return () => {
-
 
23
      observer.disconnect();
14
    }
24
    };
Línea 15... Línea 25...
15
 
25
  }, []);
16
    return () => {
26
 
17
      observer.disconnect();
27
  useEffect(() => {
18
    };
28
    setLoading(false);
19
  }, [messages]);
29
  }, [messages]);
20
 
30
 
21
  return (
31
  return (
22
    <div className={styles.messagesContainer} ref={scrollRef}>
32
    <div className={styles.messagesContainer} ref={scrollRef}>
23
      <div className={styles.messageWrapper}>
33
      <div className={styles.messageWrapper}>