SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
REACTREACT
Jefferson Mariano de Souza
O QUE É REACT?O QUE É REACT?
React é uma biblioteca que auxilia na construção de
interfaces.
Comparando com um modelo MVC, React é o V,
responsável apenas pela View.
SÓ ISSO?SÓ ISSO?
E por que todo esse boom em volta dessa biblioteca?
VANTAGENSVANTAGENS
Fácil de aprender
Reaproveitamento de código
Comunidade ativa
Sintaxe amigável na construção de componentes
(HTML)
Grandes empresas utilizando
É rápido
POR QUE É RÁPIDO?POR QUE É RÁPIDO?
Virtual DOM
<!DOCTYPE html>
<html>
<head>
<title>Example<title>
<link rel="stylesheet" href="sty
</head>
<body>
<h1>
<a href="/">Header</a>
</h1>
<nav>
<a href="one/">One</a>
<a href="two/">Two</a>
<a href="three/">Three</a>
</nav>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
VIRTUAL DOMVIRTUAL DOM
COMPARANDO REACT COM JQUERYCOMPARANDO REACT COM JQUERY
JQUERYJQUERY
A manipulação do DOM (operação custosa) ca nas
mãos do desenvolvedor
Toda modi cação dispara uma alteração no DOM
REACTREACT
Otimiza a manipulação do DOM, alterando somente o
necessário
Alterações são enviadas em lote, minimizando impacto
no DOM
SINTAXESINTAXE
A sintaxe mais utilizada para a criação de componentes
em React é JSX
JSX é uma extensão da sintaxe do JavaScript que
lembra XML
OBJETIVOOBJETIVO
<div>
<p>Bem vindo ao React!</p>
</div>
EXEMPLO SEM JSXEXEMPLO SEM JSX
<div>
<p>Bem vindo ao React!</p>
</div>
st element = React.createElement(
div",
ull,
eact.createElement(
"p",
null,
"Bem vindo ao React!"
EXEMPLO COM JSXEXEMPLO COM JSX
<div>
<p>Bem vindo ao React!</p>
</div>
st element = (
div>
<p>Bem vindo ao React!</p>
/div>
JSX É A SINTAXE MAIS USADA PARA CRIARJSX É A SINTAXE MAIS USADA PARA CRIAR
COMPONENTESCOMPONENTES
REACT É BASEADO EM COMPONENTESREACT É BASEADO EM COMPONENTES
O QUE É UM COMPONENTE?O QUE É UM COMPONENTE?
EXEMPLO: SPOTIFYEXEMPLO: SPOTIFY
DESIGN PATTERNDESIGN PATTERN
USANDO COMPOSITEUSANDO COMPOSITE
React.createElement(
element, //div, p, h1, h2, span, header, main, etc
props, //id, class, data attributes
children // elementos filhos
);
const element = React.createElement(
"div",
null,
React.createElement(
"p",
null,
"Bem vindo ao React!"
)
);
TIPOS DE COMPONENTESTIPOS DE COMPONENTES
EXISTEM 2 TIPOS DE COMPONENTESEXISTEM 2 TIPOS DE COMPONENTES
Stateless
Stateful
STATELESS COMPONENTSTATELESS COMPONENT
function Componente(nome) {
return (
<div>
<p>Bem vindo {nome}!</p>
</div>
);
}
PROPRIEDADESPROPRIEDADES
STATEFUL COMPONENTSTATEFUL COMPONENT
class Componente extends React.Component {
constructor() {
this.state = { nome: ''}
}
render() {
return (
<div>
<p>Bem vindo {this.state.nome}!</p>
</div>
);
}
}
}
ESTADOESTADO
CARACTERÍSTICACARACTERÍSTICA
REACT WAYREACT WAY
MUDANÇA DE ESTADO ALTERA DOMMUDANÇA DE ESTADO ALTERA DOM
E O QUE EU PRECISO PARA USAR?E O QUE EU PRECISO PARA USAR?
DEPENDÊNCIASDEPENDÊNCIAS
nodejs (jdk)
plataforma base
yarn / npm (gradle / maven)
babel
EXEMPLO DE CÓDIGOEXEMPLO DE CÓDIGO
HTMLHTMLOCTYPE html>
ml lang="pt-br">
head>
<title>React App</title>
/head>
body>
<div id="app"></div>
/body>
tml>
JS (SETUP)JS (SETUP)
ort React from 'react';
ort ReactDOM from 'react-dom';
ort App from './App';
st divApp = document.getElementById('app');
ctDOM.render(<App />, divApp);
JS (DIVERSÃO)JS (DIVERSÃO)
import React from 'react';
function App() {
return (
<div className="full-width">
<button onClick={() => alert('Oi!')}>Hello!</button>
</div>
);
}
export default App;
E O REACT NATIVE?E O REACT NATIVE?
React - Introdução
React - Introdução

Mais conteúdo relacionado

Mais procurados

React JS and why it's awesome
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesomeAndrew Hull
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation洪 鹏发
 
React Js Simplified
React Js SimplifiedReact Js Simplified
React Js SimplifiedSunil Yadav
 
ESTEM_ReactJS_S1.pptx
ESTEM_ReactJS_S1.pptxESTEM_ReactJS_S1.pptx
ESTEM_ReactJS_S1.pptxaissamjadli
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgetsromek
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentationThanh Tuong
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITnamespaceit
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!Baharika Sopori
 
React js programming concept
React js programming conceptReact js programming concept
React js programming conceptTariqul islam
 

Mais procurados (20)

Its time to React.js
Its time to React.jsIts time to React.js
Its time to React.js
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 
Introduction to React JS
Introduction to React JSIntroduction to React JS
Introduction to React JS
 
Express js
Express jsExpress js
Express js
 
React JS and why it's awesome
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesome
 
React JS - Introduction
React JS - IntroductionReact JS - Introduction
React JS - Introduction
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
React Js Simplified
React Js SimplifiedReact Js Simplified
React Js Simplified
 
ESTEM_ReactJS_S1.pptx
ESTEM_ReactJS_S1.pptxESTEM_ReactJS_S1.pptx
ESTEM_ReactJS_S1.pptx
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
React js
React jsReact js
React js
 
S60 3rd FP2 Widgets
S60 3rd FP2 WidgetsS60 3rd FP2 Widgets
S60 3rd FP2 Widgets
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
React JS
React JSReact JS
React JS
 
React workshop
React workshopReact workshop
React workshop
 
The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!The Benefits of Using React JS for Web Development!
The Benefits of Using React JS for Web Development!
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 

Semelhante a React - Introdução

Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesCI&T
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Sérgio Vilar
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Intodução ao React
Intodução ao ReactIntodução ao React
Intodução ao ReactDev PP
 
React - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesReact - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesJefferson Mariano de Souza
 
Se familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezSe familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezGDGFoz
 
don't repeat yourself front-ender
don't repeat yourself front-enderdon't repeat yourself front-ender
don't repeat yourself front-endertdc-globalcode
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Construa painéis administrativos em Adobe Flex integrados com ASP.NET MVC
Construa painéis administrativos em Adobe Flex  integrados com ASP.NET MVCConstrua painéis administrativos em Adobe Flex  integrados com ASP.NET MVC
Construa painéis administrativos em Adobe Flex integrados com ASP.NET MVCIgor Musardo
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 
435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdfJulia469065
 

Semelhante a React - Introdução (20)

Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentes
 
Hello ReactJs
Hello ReactJsHello ReactJs
Hello ReactJs
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)
 
React js
React js React js
React js
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
Intodução ao React
Intodução ao ReactIntodução ao React
Intodução ao React
 
Apache Wicket
Apache WicketApache Wicket
Apache Wicket
 
Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 
React - Compartilhando estado entre componentes
React - Compartilhando estado entre componentesReact - Compartilhando estado entre componentes
React - Compartilhando estado entre componentes
 
Meetup React Native
Meetup React NativeMeetup React Native
Meetup React Native
 
Se familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres IbañezSe familiarizando com React - Andres Ibañez
Se familiarizando com React - Andres Ibañez
 
don't repeat yourself front-ender
don't repeat yourself front-enderdon't repeat yourself front-ender
don't repeat yourself front-ender
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Java Web Fácil com VRaptor
Java Web Fácil com VRaptorJava Web Fácil com VRaptor
Java Web Fácil com VRaptor
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Construa painéis administrativos em Adobe Flex integrados com ASP.NET MVC
Construa painéis administrativos em Adobe Flex  integrados com ASP.NET MVCConstrua painéis administrativos em Adobe Flex  integrados com ASP.NET MVC
Construa painéis administrativos em Adobe Flex integrados com ASP.NET MVC
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf435142330-Guia-Completo-React-Js.pdf
435142330-Guia-Completo-React-Js.pdf
 
Dojo react
Dojo reactDojo react
Dojo react
 

React - Introdução