• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

291
Views
Problema con scrollIntoView que no se desplaza hasta el final en React

Tengo un componente que crea una lista de mensajes para un chat, la función scrollIntoView solo funciona cuando abro el chat por segunda vez (la primera vez, no se desplaza hasta el final). Adjunté algunas fotos y videos y algo de código.

 const queryClient = useQueryClient() const { data, isLoading } = useChatMessages(id) const { socket } = useSocket() const viewRef = useRef(null) useEffect(() => { socket.on('receive_message', (data) => { queryClient.setQueryData(['CHATMESSAGES', id], function(oldData) { return [...oldData, data] }) }) }, [socket]) useEffect(() => { viewRef.current && viewRef.current.scrollIntoView({behavior: 'smooth', block: 'start'}) }, [data]) if (isLoading) return <span>Loading...</span> return ( <div className={styles.chatMessages}> {data.map(message => ( message.sender_id !== 'x' ? <MessageReceived key={message.id} date={message.date} message={message.message} /> : <MessageSended key={message.id} date={message.date} message={message.message} /> ))} <div ref={viewRef} /> </div > ) }

Video: https://i.imgur.com/p3qqGZn.gif (Como puede ver, necesito desplazarme manualmente hasta el final) ¿Alguien puede ayudarme a resolver el error?

almost 3 years ago · Santiago Gelvez
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error