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

169
Views
La obtención de datos lleva inherentemente unos segundos, sin embargo, ¿cómo puedo hacer que mi pantalla no muestre nada al buscar?

Estoy usando un componente llamado <Player/> , que muestra una página con "jugador no encontrado" o carga los datos de un jugador consultado y guardado.

El componente tiene un estado local, que es player y, de forma predeterminada, es nulo. Hay un useEffect que busca en la base de datos con el nombre de usuario como parámetro, y si se encuentra un usuario, el JSON devuelto se guarda y se establece en el estado con setPlayer(res) . Si no se encuentra ningún usuario en la recuperación, el estado permanece en null .

Cuando el estado es null , la página muestra 'usuario no encontrado'. Cuando el estado no es nulo (lo que significa que encontró un jugador), cargo la información.

Esto está funcionando según lo planeado, sin embargo, cuando se va a una ruta como player/existingPlayer , la página se muestra por un segundo rápido como not found antes de actualizar y mostrar los datos de los jugadores correctamente.

¿Es esta la única manera posible de hacer esto? ¿Es esto de esperar? Sé que la obtención de datos lleva inherentemente unos segundos dependiendo de la conexión, pero siento que esta experiencia de usuario es severa.

¿Alguna sugerencia para mejorar esto?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Cuando el reproductor es nulo, muestre la carga, y después de obtener la información del reproductor, si existe, simplemente muestre la información del reproductor si no está vacío "" y si su estado era igual a "" muestre el reproductor no encontrado así

 export default function App() { const [player, setPlayer] = useState(null) useEffect(() => { // fetch here and set player to "" if not found }, []) if(player == null) return <div>Loading...</div> if(player == "") return <div>No Player Found.</div> return ( <div className="App"> Player info goes here... </div> ); }
about 4 years ago · Juan Pablo Isaza Report
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!