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

208
Views
Why are react refs set / unset on every render cycle?

I recently discovered the following surprise from this article.

import { useState } from "react";

export default function App() {
  const rerender = useState()[1];
  return (
    <div ref={(e) => console.log("ref", e)} onClick={() => rerender({})}>
      click to remount
    </div>
  );
}

In the above code sample, in every render cycle, the ref will first be null and then the ref will be set to the actual HTML element.

Thus, the console logs look like this:

ref <div>click to remount</div>
-----
ref  null
-----
ref  <div>click to remount</div>

I do not expect that the ref would be null during the first step of each render cycle, as the underlying DOM node is not changing. Why is the ref being set to null during each render cycle?

Code Sandbox from article

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!