Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

121
Views
Mensaje de procesamiento de reacción para permanecer en la parte inferior

Actualmente trabajando en un mensajero de chat en vivo 1: 1. cuando envío un mensaje, aparece en la parte inferior del chat donde quiero, pero al actualizar la página, vuelve a la parte superior del mensajero. ¿Cómo lo configuro para que el mensaje más nuevo esté siempre en la parte inferior? Aquí hay un código, creo que el problema está en setActiveChat o addMessageToConversation.

 const sendMessage = (data, body) => { socket.emit("new-message", { message: data.message, recipientId: body.recipientId, sender: data.sender, }); }; const postMessage = async (body) => { try { const data = await saveMessage(body); if (!body.conversationId) { addNewConvo(body.recipientId, data.message); } else { addMessageToConversation(data); } sendMessage(data, body); } catch (error) { console.error(error); } }; const addNewConvo = useCallback( (recipientId, message) => { setConversations(previousState => previousState.map(convo => { if (convo.otherUser.id === recipientId) { convo.messages.push(message) convo.latestMessageText = message.text; convo.id = message.conversationId; return convo } return convo })) }, [setConversations], ); const addMessageToConversation = useCallback( (data) => { // if sender isn't null, that means the message needs to be put in a brand new convo const { message, sender = null } = data; if (sender !== null) { const newConvo = { id: message.conversationId, otherUser: sender, messages: [message], }; newConvo.latestMessageText = message.text; setConversations((prev) => [newConvo, ...prev]); } conversations.forEach((convo) => { if (convo.id === message.conversationId) { const convoCopy = { ...convo }; convoCopy.messages.push(message); convoCopy.latestMessageText = message.text; return convoCopy; } else { return convo; } }); setConversations([...conversations]); }, [setConversations, conversations], ); const setActiveChat = useCallback((username) => { setActiveConversation(username); }, []);

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!