---
title: "Discussion on \"How React Works Internally: Virtual DOM, Reconciliation, and Rendering\" | Hashnode"
description: "Discussion on \"How React Works Internally: Virtual DOM, Reconciliation, and Rendering\". Introduction\nWhat actually happens when we call setState?\nYou click a button.\nsetCount(count + 1);\n\nThe number on the screen changes instantly.\nBut what happens behind the scenes?\n\nDoes React rebuild"
url: "https://hashnode.com/posts/how-react-works-internally-virtual-dom-reconciliation-and-rendering/6a5114c75afd8fe3d6d86513"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [How React Works Internally: Virtual DOM, Reconciliation, and Rendering](https://html-dev09.hashnode.dev/how-react-works-internally-virtual-dom-reconciliation-and-rendering?utm_source=hashnode&utm_medium=feed)

Introduction What actually happens when we call setState? You click a button. setCount(count + 1); The number on the screen changes instantly. But what happens behind the scenes? Does React rebuild

Jul 10 · 12 min read · html-dev09.hashnode.dev  
Updated Aug 12  
Read the article

-   [#reactjs](https://hashnode.com/tag/reactjs)
-   [#react](https://hashnode.com/tag/react)
-   [#react-js](https://hashnode.com/tag/react-js)
-   [#virtual](https://hashnode.com/tag/virtual)
-   [#dom](https://hashnode.com/tag/dom)
-   [#reconcilliation](https://hashnode.com/tag/reconcilliation)
-   [#rendering](https://hashnode.com/tag/rendering)
-   [#development](https://hashnode.com/tag/development)
-   [#web](https://hashnode.com/tag/web)
-   [#webdev](https://hashnode.com/tag/webdev)
-   [#web-development](https://hashnode.com/tag/web-development)
-   [#webdevelopment](https://hashnode.com/tag/webdevelopment)
-   [#chaicode](https://hashnode.com/tag/chaicode)
-   [#chaiaurcode](https://hashnode.com/tag/chaiaurcode)
-   [#chaicohort](https://hashnode.com/tag/chaicohort)
-   [#chaicode-webdev-cohort-2026](https://hashnode.com/tag/chaicode-webdev-cohort-2026)
-   [#chai-code](https://hashnode.com/tag/chai-code)
-   [#chaiaurcode-hiteshchoudhary-piyushgarg-genaicohort-genai-llm-personaprompting-geminiai-reactjs-nextjs-python-aichatbot-hashnode-promptengineering-vercel-hindienglishblog-devjourney](https://hashnode.com/tag/chaiaurcode-hiteshchoudhary-piyushgarg-genaicohort-genai-llm-personaprompting-geminiai-reactjs-nextjs-python-aichatbot-hashnode-promptengineering-vercel-hindienglishblog-devjourney)
-   [#blog](https://hashnode.com/tag/blog)
-   [#blogging](https://hashnode.com/tag/blogging)
-   [#full-stack](https://hashnode.com/tag/full-stack)
-   [#full-stack-development](https://hashnode.com/tag/full-stack-development)
-   [#full-stack-web-development](https://hashnode.com/tag/full-stack-web-development)
-   [#fullstack](https://hashnode.com/tag/fullstack)
-   [#frontend-development](https://hashnode.com/tag/frontend-development)
-   [#backend-development](https://hashnode.com/tag/backend-development)
-   [#backend-developments](https://hashnode.com/tag/backend-developments)
-   [#frontend](https://hashnode.com/tag/frontend)

## Written by

[Kanishka Shashi](https://hashnode.com/@Kshashi22)

@Kshashi22 · Greater Noida, Gautam Buddha Nagar, Uttar Pradesh, IND

  
[View profile](https://hashnode.com/@Kshashi22)

Kshashi22

Hi, I'm Kanishka Shashi. I'm a Computer Science (AI &amp; ML) student passionate about building, analyzing, and explaining technology. This blog is where I simplify complex concepts into practical, beginner-friendly guides. You'll find articles on Web Development, System Design, AI &amp; LLMs, Data Analytics, SQL, Git/GitHub, and software engineering best practices. I enjoy exploring how modern technologies work under the hood and sharing insights through real-world examples and hands-on projects. Whether you're a student, developer, or tech enthusiast, I hope these articles help you learn something new and build better software. Learning in public. Building consistently. Sharing everything I discover.

## Responses

Markdown supported · ⌘↵ to post

No responses yet.
