Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
React behind the scenes
Search
Igor Halfeld
March 15, 2019
Programming
66
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React behind the scenes
How React.js works behind the scenes
Igor Halfeld
March 15, 2019
More Decks by Igor Halfeld
See All by Igor Halfeld
Modular monoliths with fastify
igorhalfeld
0
210
How to migrate legacy frontend?
igorhalfeld
1
140
Patterns for perfect components in Vue.js
igorhalfeld
0
140
Clean Architecture no Front-end (update 2021-05-11)
igorhalfeld
0
77
Step by step I followed a career in software
igorhalfeld
0
710
Using AI to create memes
igorhalfeld
0
540
Deninho, the TS children
igorhalfeld
1
230
Micro Front-ends, what they don't tell you
igorhalfeld
0
420
CSS in JavaScripto, the anti-pattern that is good
igorhalfeld
1
120
Other Decks in Programming
See All in Programming
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
590
FreeBSDでZabbixを動かす
kenkino
0
350
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
Workers Cache を知る
syumai
0
320
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
210
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
520
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
120
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
310
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.4k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
260
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
430
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
KATA
mclloyd
PRO
35
16k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
React behind the scenes. Virtual DOM, reconciliation phase, diff algorithm..
Igor Halfeld Software Engineer & Consultancy igorluiz.me - @IgorHalfeld
None
None
None
None
Vamos começar suavão..
Browser É mágica!
User interface Browser Engine Render Engine Data persistence Networking JavaScript
Interpreter UI Back-end
DOM Document Object Model
None
Virtual DOM “Virtual” Document Object Model
None
None
Até agora, tudo legal…
Beleza, e então? O front-end moderno começa depois do Angular
1.x
Watcher DOM Watcher State Watcher
Virtual DOM Wrapper
Deu bom
Vamos imaginar… …a construção de uma interface.
<p> <div> <section>
Recursivo!
None
Render e eventos usam a main thread! Imagina se tivesse
muitos childrens e fazer handling de eventos ao mesmo tempo!
None
Precisamos ter o controle! A main thread precisa estar disponível
para updates prioritários.
section div button return children sibling Fiber
None
None
None
Onde eu quero chegar com tudo isso?
Obrigado! igorluiz.me/talks - @IgorHalfeld