Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Recriando o React do Zero em 10 minutos
Search
Afonso Pacifer
July 29, 2023
Programming
0
66
Recriando o React do Zero em 10 minutos
Front in Sampa 2023
Afonso Pacifer
July 29, 2023
Tweet
Share
More Decks by Afonso Pacifer
See All by Afonso Pacifer
Developer Experience (DevEx) no mundo Front-End: Do Ruby ao Next.js
afonsopacifer
0
38
Open Source e Developer Experience
afonsopacifer
1
72
Conhecendo a área de Developer Experience (DevEx)
afonsopacifer
0
54
Do Zero ao Sênior Apenas com Projetos Open Source
afonsopacifer
1
62
Guia para se tornar uma Pessoa Desenvolvedora Front-end Especialista
afonsopacifer
0
65
O CAMINHO PARA SE TORNAR UM(A) MESTRE(A) DOS ESTILOS COM CSS LV 5.
afonsopacifer
0
160
HTML 5.3: O que existe além de a11y e SEO?
afonsopacifer
0
150
State of JS 2022
afonsopacifer
0
270
Welcome CSS LV5
afonsopacifer
0
210
Other Decks in Programming
See All in Programming
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
110
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
110
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
240
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
160
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.3k
Optimizing JRuby 10
headius
0
570
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
370
Cursorを活用したAIプログラミングについて 入門
rect
0
160
API for docs
soutaro
3
1.6k
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
3
2k
Browser and UI #2 HTML/ARIA
ken7253
2
170
オープンソースコントリビュート入門
_katsuma
0
120
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Music & Morning Musume
bryan
47
6.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Practical Orchestrator
shlominoach
187
11k
Speed Design
sergeychernyshev
29
920
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Transcript
afonsopacifer.github.io Recriando o React do Zero em 10 minutos 1
afonsopacifer.github.io
Afonso Pacifer @afonsopacifer afonsopacifer.github.io DevRel & Front-End Specialist 2
Como usar o React? Sem create react app ou vite!
index.js import React . from “react" import ReactDom . from
“react-dom" Inst al l $ npm install react $ npm install react-dom
const Element = React.createElement( 'h1', { className: ‘sampa' }, 'Hello
World' ); Comp on ent HelloWorld.js ?
const Element = React.createElement( … } ReactDOM.render( Element, document.getElementById(‘app’) );
<div id=”app”><div/> Hello World index.js index.html Rend e
Por que usar?
Não toca no DOM
None
None
Duas funções
.component( ) JS const Element = component( 'h1', { id:
‘sampa' }, 'Hello' ); OBJ { type: 'h1', props: { id: ‘samba' }, children: [‘Hello'] }
.render( ) JS render( OBJ, document.getElementById(‘app’) ); <h1 id=”sampa”> Hello
<h1/> DOM API Hello
Exemplo
.map( )
Não toca no DOM?
OBJ { type: 'h1', props: {id: “app”}, children: [] }
New OBJ { type: ‘h2', props: {id: “app”}, children: [] } JS component( 'h1', { id: ‘sampa' }, 'Hello' ) JS render( OBJ, document.getElementById(‘app’) ); Diff <div id=”app”><div/>
Virtual DOM
Virtual DOM DOM
None
Developer Experience
None
const Element = ( <div> <h1>Hello, world!</h1> </div> ); const
HelloWorld = () => ( <div> <Element/> </div> ); HelloWorld.js JSX
… 24
fronti n .j s fronti n .j s github.com/afonsopacifer/frontinjs $
npm install frontinjs Functional and stateless component library
fronti n .j s fronti n .j s github.com/afonsopacifer/frontinjs
27 "Não se limite a ser apenas um(a) Dev React,
seja um(a) Dev Front-End” - Afonso Pacifer
@afonsopacifer Obrigado Front in Sampa afonsopacifer.github.io 28