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

92
Views
Almacenar el nombre del usuario actual y el usuario coincidente en estado usando useEffect devolviendo una salida incorrecta

Tengo una función en mi contexto que toma dos puntos de datos, el nombre de usuario actual y el nombre de usuario de un usuario seleccionado al azar que está en línea.

 const pairProgrammingMatching = (username, matchedUser) => { setPairUsers({username: matchedUser }) }

Llamo a esta función en otro componente usando useEffect()

 useEffect((() => { console.log('curr username is', username) pairProgrammingMatching(username, checkOnlineUsers(pickRandom()).username) console.log('inside pairUsers state', pairUsers) }), [])

checkOnlineUsers simplemente devuelve una lista de todos los usuarios que están actualmente en línea y activos

 let checkOnlineUsers = () => { const results = onlineUsers.filter(obj => { return obj.profile.is_online === true && obj.profile.currently_active === false && obj.username !== user.username }) return results }

Aquí hay una muestra de lo que devuelve esta función.

 [{ email: "***@gmail.com" first_name: "" last_name: "" profile: {city: 'Washington DC', country: 'USA', is_online: true, currently_active: false} username: "testingUser" }]

pickRandom simplemente elige un número entre 0 y n, siendo n el número de usuarios devueltos en checkOnlineUsers :

 const pickRandom = () => { return Math.round(Math.random()*onlineUsers.length) }

El problema aquí es que si imprimo pairUsers dentro de mi useEffect espero ver esto:

 { 'userA': 'testingUser' }

siendo userA el nombre del usuario actual. Sin embargo, esto es lo que obtengo:

 {username: undefined}
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!