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

190
Views
React document.getElementById() devuelve un elemento desconectado, ¿por qué?

Estoy escribiendo un enlace que recibe un HTMLElement como argumento. Me gustaría hacerlo para que pueda aceptar incluso solo una id y luego encontrar el elemento por sí solo.

Ejecuto document.getElementById() dentro de un useEffect en el gancho.
De esta forma, se consulta el DOM solo después de que el componente que llama al gancho se haya representado en el DOM real.
Y guardo el elemento de inmediato en reaccionar ref.

Si ejecuto mi aplicación y navego para renderizar el componente con el gancho, todo funciona perfectamente. Pero si continúo navegando para que el componente se desmonte y luego navego hacia atrás para volver a montarlo, la aplicación falla.

Después de investigar un poco, descubrí que el problema es que, si bien el elemento devuelto por document.getElementById es el mismo en ambos casos (porque la identificación es la misma), Node.isConnected devuelve true en el primer caso y false cuando ocurre el bloqueo. .

¿Alguien sabe a qué puede deberse esta diferencia?
Tenga en cuenta que después del primer montaje correcto, el componente se desmonta y se monta como nuevo.

PD: sería genial si pudiera proporcionar una respuesta teórica en lugar de requerir un ejemplo reproducible mínimo, ya que en este momento no tengo acceso a mi computadora portátil y, sin embargo, no puedo dejar de obsesionarme con este problema.

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!