by Bogdan-Lyashenko

Bogdan-Lyashenko / Under-the-hood-ReactJS

Entire React code base explanation by visual block schemes (Stack version)

4.2K Stars 364 Forks Last release: Not found MIT License 173 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Under the hood: React

This repository contains an explanation of inner work of React. In fact, I was debugging through the entire code base and put all the logic on visual block-schemes, analyzed them, summarized and explained main concepts and approaches. I've already finished with Stack version and now I work with the next, Fiber version.

If you like this project, follow me on Twitter @bliashenko to hear about things I am building.

I wanted to automate process of "learning and documenting" as much as possible, so I started codecrumbs project. It will help to build projects like "Under the hood ReactJs" in shorter time.

Read in the best format from github-pages website.

Feel free to open an issue regarding any ideas you have to make it better.

Each scheme is clickable and can be opened in a new tab, use that to zoom it and be able to read from it. Keep the article and a scheme you are reading about at that moment in separate windows (tabs), that will help to match text and code flow easier.

We are gonna talk here about both React versions, current one with Stack reconciler and the next one with Fiber (as you probably know, the next version of React will be released soon), so, you can understand better how current React works and appreciate huge achievements on React-Fiber. We use React v15.4.2 for explaining how ‘legacy React’ works and React v16..** for ‘Fiber’. Let’s start from old (I have fun to say that) stack version.

Stack reconciler

The entire scheme is divided into 15 parts, let's get started.


Will be done with a help of js-code-to-svg-flowchart tool later. 1. Intro [TODO]


We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.