<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CodeSmithNazim</title>
    <description>The latest articles on DEV Community by CodeSmithNazim (@codesmithnazim).</description>
    <link>https://dev.to/codesmithnazim</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4030397%2F01211a9e-4b13-4092-9da4-2cbe54b4a818.png</url>
      <title>DEV Community: CodeSmithNazim</title>
      <link>https://dev.to/codesmithnazim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codesmithnazim"/>
    <language>en</language>
    <item>
      <title>Reamain part of previous post reconciliation in React.js</title>
      <dc:creator>CodeSmithNazim</dc:creator>
      <pubDate>Wed, 15 Jul 2026 14:56:17 +0000</pubDate>
      <link>https://dev.to/codesmithnazim/reamain-part-of-previous-post-reconciliation-in-reactjs-4n02</link>
      <guid>https://dev.to/codesmithnazim/reamain-part-of-previous-post-reconciliation-in-reactjs-4n02</guid>
      <description>&lt;p&gt;second part:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Clash of Two "Renders"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The biggest culprit is that the word "render" means two completely different things in computer science, and React tried to use both at the same time:&lt;/p&gt;

&lt;p&gt;Browser Rendering: This is when the browser engine calculates layouts, builds render trees, and paints pixels on your screen.&lt;/p&gt;

&lt;p&gt;React Rendering: This is when React calls your component functions to build a JavaScript object tree (virtual DOM) in memory.&lt;/p&gt;

&lt;p&gt;Because the browser's process was already called "rendering," React's creators used the same word for their virtual DOM creation. For years, when the docs said "React prevents unnecessary renders," developers read that as "React prevents my components from running their JavaScript." It took years for the community to realize we were talking about two entirely different concepts!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The 2013 "Marketing Pitch"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When React was first introduced in 2013, the web development world was dominated by frameworks like jQuery, Backbone, and AngularJS. In those frameworks, developers had to manually update the browser DOM, or the framework would heavily slow down the browser by sweeping the entire real DOM on every change.&lt;/p&gt;

&lt;p&gt;React's biggest selling point was "Stop worrying about manual DOM updates." Just write your UI declaratively. The Virtual DOM will magically do the work of reducing renders."&lt;/p&gt;

&lt;p&gt;To sell this idea simply to a skeptical developer audience, the creators packaged the message into "We minimize rendering." It was a highly effective marketing pitch, even if it technically blurred the lines between the JavaScript render phase and the browser paint phase.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The React Team Literally Changed the Docs to Fix This!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The confusion grew so massive that when the React team rewrote the official documentation from scratch (moving to the modern react.dev), they explicitly rewrote the guide to fix this exact misunderstanding.&lt;/p&gt;

&lt;p&gt;If you look at the modern "Render and Commit" section of the official docs, they now explicitly separate the process into three distinct steps—Trigger, Render, and Commit—and they added an "Epilogue" just for the browser:&lt;/p&gt;

&lt;p&gt;"Epilogue: Browser paint&lt;/p&gt;

&lt;p&gt;After rendering is done and React updates the DOM, the browser will repaint the screen. Although this process is known as "browser rendering," we'll refer to it as "painting" to avoid confusion throughout the docs.&lt;/p&gt;

&lt;p&gt;They literally had to invent their own terminology ("painting") to stop developers from confusing React's in-memory calculations with actual browser screen updates!&lt;/p&gt;

&lt;p&gt;The Verdict:-&lt;/p&gt;

&lt;p&gt;When people say "reconciliation decreases the amount of things re-rendered," they are usually using "re-render" as a layman's term for "affecting the actual browser screen."&lt;/p&gt;

&lt;p&gt;If you could understand the above two posts, then you understand React's core architecture better than many developers who have been writing it for years.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Biggest Misconception About React Reconciliation (Render vs. Paint)</title>
      <dc:creator>CodeSmithNazim</dc:creator>
      <pubDate>Wed, 15 Jul 2026 12:25:52 +0000</pubDate>
      <link>https://dev.to/codesmithnazim/the-biggest-misconception-about-react-reconciliation-render-vs-paint-4mcm</link>
      <guid>https://dev.to/codesmithnazim/the-biggest-misconception-about-react-reconciliation-render-vs-paint-4mcm</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;I recently had an "aha!" moment regarding how React handles updates under the hood, and I wanted to share it because I realize a ton of developers (including myself, until recently) trip over this exact concept.&lt;/p&gt;

&lt;p&gt;The common mental model is that React Reconciliation compares the Virtual DOM directly to the Real Browser DOM and surgically updates only what changed.&lt;/p&gt;

&lt;p&gt;But that’s fundamentally incorrect. React never reads or directly compares the real DOM during the diffing process. It actually splits the process into two entirely separate phases —The Render Phase and The Commit Phase —which creates a massive distinction between Re-rendering and Re-painting.&lt;/p&gt;

&lt;p&gt;Here is the exact breakdown of what happens when a single state change affects just 1 out of 100 divs in a component:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Render Phase (Pure JavaScript)
When state changes, React calls your component function. It doesn't know which of your 100 divs changed yet, so it has to evaluate the entire JSX block.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Scope: React re-renders all 100 virtual divs in memory.&lt;/p&gt;

&lt;p&gt;The Process: It builds a brand-new Virtual DOM tree and compares it to the previous Virtual DOM tree (JavaScript object vs. JavaScript object).&lt;/p&gt;

&lt;p&gt;The Outcome: It spots that 99divs are identical, but 1 div has an update. It flags that single virtual node with an "Update" tag.&lt;/p&gt;

&lt;p&gt;Because this happens purely in-memory as JavaScript, it is incredibly fast and cheap.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Commit Phase (The Real DOM Update)
This is where Reconciliation does its primary job. It acts as a shield to protect the browser from doing unnecessary work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Scope: React completely ignores the 99 unchanged elements.&lt;/p&gt;

&lt;p&gt;The Process: It surgically targets the single real browser div associated with the flagged Virtual DOM element and updates only its modified property (e.g., element.textContent = "New Value").&lt;/p&gt;

&lt;p&gt;The Outcome: The browser repaints only 1 single div on the screen.&lt;/p&gt;

&lt;p&gt;The Conclusion: Reconciliation isn't about stopping React from re-rendering (re-running JS to calculate the UI). It is about controlling the browser's re-painting so that the expensive UI updates are kept to an absolute minimum.&lt;/p&gt;

&lt;p&gt;Would love to hear how you guys explain this concept to juniors or if this distinction changed how you approach optimization!&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactjsdevelopment</category>
      <category>reactreconciliationworking</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
