Como aprender React em 1 dia!

Alline Oliveira
Como programar em 1 dia!
14 min readDec 27, 2021

React é uma das adições à linguagem Javascript mais utilizadas por programadores no momento. E Javascript, por sua vez, também é a linguagem de desenvolvimento de código mais utilizada pelos sites da Web hoje em dia.

https://reactjs.org

Você pode tentar fazer esse tutorial mesmo sem saber programar. Mas se quiser começar aprendendo Javascript, faça o tutorial da W3Schools e aprenda um pouco mais sobre a escrita HTML aqui.

Ou ainda melhor, faça o nosso tutorial: Como aprender a programar em 1 dia!

w3schools.com

DICA: Traduza o tutorial da W3Schools para Português clicando no ícone do globo (Terra redonda), no canto superior direito das páginas.

A biblioteca React (React.js ou ReactJS) foi desenvolvida pelo Facebook, e utiliza-se das ferramentas do Node.js para funcionar. Node também é mais uma linguagem de código baseada em Javascript que também é muito utilizada pelos programadores em todo o mundo.

NodeJS

A primeira coisa necessária para se programar em React é baixar e instalar a linguagem Node em seu computador.

https://nodejs.org/pt-br

https://nodejs.org/pt-br

Verifique se a instalação está ok testando as linhas abaixo na janela de comandos de seu computador:

node --version

npm --version

npx --version

Testando a versão do Node

Npm é o programa que faz as instalações de componentes para o Node. E o npx executa essas instalações.

Editor de código

Código de programação são arquivos de texto com informações compreensíveis por um computador. Ou seja, para programar você precisa de um editor de texto específico para desenvolvimento chamado de Editor de Código.

Aqui nesse tutorial vamos utilizar o Visual Studio Code para criar nossos arquivos de código. Mas fique a vontade para usar qualquer outro editor de sua preferência.

Baixe e instale o VSCode no link abaixo:

https://code.visualstudio.com

Visual Studio Code

HTML

Vamos começar a programação criando um primeiro código HTML bem simples.

Crie um novo arquivo no seu VSCode (Menu Arquivo>Novo Arquivo, ou pressione a tecla Control + a tecla N). Salve o arquivo como index.html e cole o seguinte código dentro dele:

index.html

Observe a utilização das tags:
<html></html> - tag raíz de inicialização de uma arquivo (documento) HTML

<body></body> - tag para demarcação do corpo do documento HTML

<h1></h1> - tag para formatação de Títulos nos textos HTML

index.html no VSCode

Navegador

Agora abra um navegador web (pode ser o Google Chrome por exemplo) e cole na barra de endereços o caminho completo do seu arquivo index.html.

Para copiar a localização completa do seu arquivo de código no VSCode, clique com o botão direito do mouse em cima do título do arquivo e depois clique no menu “Copiar o Caminho”, como na figura abaixo:

Copiando o caminho completo do index.html

Cole então o caminho do seu código fonte na barra de endereços do seu navegador, como na figura abaixo:

Arquivo HTML sendo visualizado no navegador

Observe que as tags HTML são interpretadas pelo navegador e seu site é exibido na tela formatado da maneira que foi codificado em seu arquivo index.html.

Javascript

Além de formatação, vamos adicionar agora um pouco de inteligência (lógica) ao seu código HTML, utilizando a linguagem Javascript.

Adicione um elemento <div> para criar uma seção no corpo do seu código HTML e identifique a tag <div> com o atributo id igual a “root” (raiz em inglês), por exemplo:

<div id=”root”></div>

Então adicione a tag de lógica <script> que irá preencher essa tag <div> com conteúdos de texto. Dentro da lógica <script> utilize o comando getElementById() para inserir conteúdo dentro da div “root”.

Na prática, copie o código abaixo e cole-o no seu arquivo index.html:

adicionando lógica com Javascript
index.html

Volte ao seu navegador e clique no ícone de “Recarregar a página”, testando novamente o funcionamento do seu código para ter certeza que está tudo certo.

index.js

Agora vamos isolar a lógica Javascript do resto do código HTML criando um arquivo index.js à parte.

Crie um novo arquivo no VSCode, salve-o como index.js.

Mova o conteúdo da tag <script> para dentro desse arquivo index.js (ou seja, somente a linha 7 do seu arquivo HTML anterior). Como na figura abaixo:

index.js

Agora vá no arquivo index.html e importe o arquivo index.js utilizando a mesma tag <script> porém, para isso, adicionando o atributo src (de “source code”):

<script src=”index.js”></script>

Como no código abaixo:

importando o arquivo index.js dentro do arquivo index.html

O charset UTF-8 foi adicionado ao index.html na linha 2 através de uma metatag (<meta />) para que os caracteres especiais do Português, como acentos por exemplo, sejam renderizados corretamente pelos navegadores:

<meta charset=”UTF-8" />

index.html

Mais uma vez volte ao seu navegador e clique no ícone de “Recarregar a página”, testando novamente o funcionamento do seu código para ter certeza que está tudo certo até aqui.

react.development

Vamos agora adicionar o React ao nosso código.

Importe os dois pacotes de desenvolvimento do React no seu arquivo index.html, de acordo com a figura abaixo:

<script src=”https://unpkg.com/react@17/umd/react.development.js" ></script>
<script src=”https://unpkg.com/react-dom@17/umd/react-dom.development.js" ></script>

importando as bibliotecas de desenvolvimento do React

E então podemos começar a usar o React nos nossos arquivos Javascript. Copie o comando ReactDOM abaixo e substitua o conteúdo do arquivo index.js, como na figura:

ReactDOM no arquivo index.js

E então teste o seu primeiro código React:

código em React

Dúvidas e Feedback

Tem alguma dúvida até aqui? Não se preocupe. Entre em nosso grupo do Telegram, tire suas dúvidas e deixe seu feedback!

@APPem1dia
https://t.me/joinchat/JxXfahbkVFXrY3SOsnlNvw

Babel

Babel é uma ferramenta que ajuda o React a renderizar os códigos estendidos no Javascript (incluindo código JSX que veremos mais adiante). Utilizaremos Babel no ambiente de desenvolvimento desse tutorial.

Por exemplo, para renderizar um texto com tags HTML dentro do código React vamos importar a biblioteca do Babel em nosso arquivo index.html:

<script src=”https://unpkg.com/@babel/standalone/babel.min.js"></script>

Adicione também o atributo type=“text/babel” na tag <script> (linha 10) que importa o arquivo index.js. Como na figura abaixo:

<script src=”index.js” type=”text/babel”></script>

Agora pode adicionar tags HTML aos seus textos que o React conseguirá interpretar sua formatação.

Substitua então o código do arquivo index.js pelo código abaixo:

Babel renderizando JSX no React

Servidor Web

O Babel não consegue funcionar em arquivos de código estáticos. É necessário rodar um Servidor Web em seu computador local (localhost) para que o Babel consiga executar.

Para esse tutorial vamos utilizar o Serve, um servidor web para Node super leve e simples. Instale o Serve em seu computador utilizando o instalador npm. Execute o código abaixo em sua janela de comando:

npm -g install serve

npm -g install serve

E então, dentro da pasta do seus arquivos index.html e index.js, inicie o servidor web digitando o comando abaixo:

serve

serve

O seu código React será servido localmente pela URL abaixo. Digite-a no seu navegador para testar o React com Babel renderizando as tags HTML do seu código:

http://localhost:3000

http://localhost:3000

JSX

JSX é a extensão da linguagem Javascript utilizada para a programação em React. Fica mais prático adicionar lógica ao código com JSX do que com Javascript puro.

Por exemplo, vamos substituir o nome do usuário na variável tituloPagina, por outro nome qualquer de uma forma mais dinâmica.

Substitua o código abaixo no seu arquivo index.js:

index.js com JSX

Podemos trocar a variável meuNome por outros conteúdos e o tituloPagina irá se atualizar dinamicamente de acordo com o valor de meuNome.

Clique no botão de “Recarregar a página” do seu navegador e o Serve atualizará automaticamente o conteúdo do seu site.

http://localhost:3000/

Sua página pessoal

Vamos agora criar uma página web de verdade que conterá informações a seu respeito, como por exemplo, a sua página pessoal.

Primeiramente, copie e cole (ou clique e arraste) um arquivo com uma foto sua de perfil (jpg ou png ou gif) para dentro da mesma pasta do seu arquivos de código no VSCode. Renomeie o nome do arquivo dessa foto para ‘perfil.jpg’, por exemplo:

Uma foto sua de perfil dentro da sua pasta de código

Depois adicione uma variável no seu arquivo index.js cujo valor seja o nome desse seu arquivo de foto (linha 2 do código abaixo).

let arquivoFoto = ‘perfil.jpg’;

E depois adicione uma variável que contenha o elemento <img> que exibirá a sua foto de perfil (linha 5).

const minhaFoto = <img src={arquivoFoto}></img>;

E então monte um elemento JSX que contenha as tags HTML para formatar um cabeçalho para a sua página pessoal, como nas linhas 6 a 10 abaixo:

Sua imagem de perfil

Atualize sua página no navegador para testar o resultado:

Sua página pessoal

CSS

Para adicionar estilo ao seu código React, crie um novo arquivo index.css na pasta de seu projeto de código.

No arquivo index.html, importe o link do seu arquivo CSS como na linha abaixo:

<link rel=”stylesheet” href=”index.css”>

link para o index.css

Como exemplo, pode utilizar o código CSS abaixo. Ou crie o seu próprio estilo de acordo com sua criatividade:

index.css

No código React, adicione o atributo className às tags desejadas para associar o estilo criado. Exemplos nas linhas 5 e 9 do código abaixo:

<img src={arquivoFoto} className=”inline_img”></img>

index.js com estilo css

Personalize a página de acordo com sua preferência, teste o resultado com o servidor Serve e envie um print para o nosso grupo no Telegram!

React com stylesheet

Function

Vamos componentizar a lógica criada para a sua página até agora em uma função separada.

Copie o código da function Perfil() em seu arquivo index.js:

Observe que a função Perfil() virou uma tag customizada dentro do React <Perfil />. Você pode agora utilizá-la e reutilizá-la em outras partes do seus arquivos de código. Como foi feito na linha 21.

A função Perfil() recebe a variável props como parâmetro. A variável props na verdade é um array que possui todos os atributos declarados na tag <Perfil/> como valores. Observe como esses valores são recuperados nas linhas 3 e 4 do código acima:

{props.meuNome} e {props.arquivoFoto}

Teste o resultado no seu navegador e assim continue criando conteúdos para sua página pessoal:

Página pessoal de Alline Oliveira

Github

Você pode acessar todo o código fonte desse tutorial no Github através da URL abaixo:

https://github.com/allineo/reactbasicao

https://github.com/allineo/reactbasicao

Hospedagem

Agora vamos fazer com que a nossa página pessoal possa ser acessada por qualquer pessoa, em qualquer lugar.

Vamos fazer ela funcionar não somente em nossos computadores pessoais (localhost), mas em toda a Nuvem, ou seja, em uma hospedagem que possa ser acessada por qualquer outra pessoa através da Internet.

Vamos utilizar aqui o GitHub Pages como hospedeiro (host) para nossas páginas React.

https://pages.github.com/

Crie sua conta no Github.com e pressione o botão “New” para criar um novo repositório de código.

https://github.com

Use o seu nome de usuário do Github para nomear o seu novo repositório da seguinte maneira abaixo:

seunomedeusuario.github.io
(No meu caso: allineo.github.io)

https://github.com/new

Deixe o repositório como Public e clique no checkbox para adicionar o arquivo README.md, depois clique em “Create Repository”.

Agora selecione no botão ‘Add file’ a opção ‘Upload files’:

https://github.com/allineo/allineo.github.io/upload/main

Arraste os arquivos de seu projeto para dentro da tela de upload e clique no botão verde Commit changes”:

https://github.com/allineo/allineo.github.io/upload/main
https://github.com/allineo/allineo.github.io

Com seu repositório criado, clique na aba ‘Settings’ e depois na opção de menu ‘Pages’.

Habilite o GitHub para criar seu domínio público na web e clique na URL gerada para o seu usuário (no meu caso: https://allineo.github.io)

https://github.com/allineo/allineo.github.io/settings/pages

Aguarde alguns minutos e acesse sua URL pública para visualizar seu novo site pessoal:

https://allineo.github.io

create-react-app

Agora vamos criar um projeto React para adicionar mais complexidade ao nosso aplicativo.

O React tem um comando que já cria toda a estrutura básica para um projeto de aplicativo. Digite a linha abaixo na janela de comandos do seu computador:

npx create-react-app nome_do_seu_aplicativo

npx create-react-app react_app_basicao

Observe que o React cria uma nova pasta e uma série de subpastas e arquivos com a estrutura necessária para trabalhar, toda baseada em Node.js.

react_app_basicao

Adicione essa pasta de arquivos a sua workspace no Visual Studio Code:

react_app_basicao

Dentro da pasta public, observe o arquivo index.html gerado pelo React:

index.html gerado

Agora dentro da pasta do seu projeto, inicie o seu aplicativo localmente digitando a linha abaixo na sua janela de comando:

npm start

npm start

O React vai abrir e renderizar automaticamente a página inicial da sua aplicação (index.html) no seu navegador, com essa configuração básica que foi gerada, na url abaixo:

http://localhost:3000/

http://localhost:3000/

App.js

Vamos fazer o que o React está mandando e vamos editar o arquivo App.js gerado, de acordo com a nossa aplicação criada anteriormente.

/src/App.js

Vamos substituir o conteúdo retornado pela função App() pelo conteúdo da função Content() (linha 38) que criamos no arquivo index.js que codamos anteriormente:

https://github.com/allineo/allineo.github.io/blob/main/index.js

Antiga função Content()

import

Agora vamos criar um arquivo novo para colocar as demais funções da nossa página de perfil. Vamos chamá-lo de perfil.js, dentro da pasta src.

E vamos copiar e colar as demais funções do nosso perfil criadas anteriormente no arquivo index.js. As funções Perfil(), Bio() e Linkedin():

Perfil(), Bio() e Linkedin() no novo arquivo perfil.js

Agora vamos adicionar o comando export para que essas funções possam ser acessadas de outros arquivos:

export {Perfil, Bio, LinkLinKedin};

comando export

Vamos importar esse arquivo dentro do App.js para que essas funções possam ser utilizadas.

import {Perfil, Bio, LinkLinKedin} from ‘./perfil.js’;

comando import

Por último copie e cole sua imagem de perfil dentro do diretório public e reutilize o arquivo index.css que já criamos acima:

perfil.jpg e index.css

Pronto, agora é só testar o funcionamento do aplicativo até aqui com o comando npm start:

npm start

Firebase Hosting

Um hospedeiro de sites na Nuvem muito bom e gratuito é o Firebase da Google.

https://firebase.google.com

Acesse firebase.google.com, crie sua conta e abra o console.

No console crie um novo projeto:

https://console.firebase.google.com
Novo projeto no Firebase

No menu esquerdo do seu novo projeto, clique na opção Hosting:

Hosting do Firebase

Clique no botão “Get started” para habilitar a hospedagem do Firebase no seu novo projeto:

Hosting do Firebase

Siga os passos de instalação do Firebase no seu computador.

Abra uma janela de comandos e digite:

npm install -g firebase-tools

npm install -g firebase-tools

Depois digite o comando abaixo e clique no link de autenticação:

firebase login

firebase login

E então digite o comando de inicialização do Firebase:

firebase init

Siga as instruções. Com a tecla de seta para baixo, vá até a opção:
Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action deploys”
Para selecionar o hosting, pressione a tecla de espaço e então digite “Enter”:

firebase init

No próximo passo, selecione a opção “Use an existing project”, descendo com a seta para baixo e pressionando “Enter”.
Seu novo projeto do Firebase aparecerá como opção. Selecione-o:

Seleção do seu novo projeto do Firebase

ATENÇÃO!
No próximo passo digite a palavra build como o diretório de deploy do seu projeto. Pressione “Enter”:

Configure a pasta build como diretório de deploy

Aceite o Single-page app digitando “y” e pressionando “Enter”.
Não aceite builds automáticos do GitHub, digitanto “n” e pressionando “Enter”.

firebase init

Pronto, o Firebase está criado, instalado e configurado em seu computador.

Build

Agora o React precisa gerar todos os arquivos públicos que serão enviados para o Host.

Na janela de comandos, digite:

npm run build

npm run build

Observe que a pasta build foi criada automaticamente dentro dos arquivos de seu projeto.

Deploy no Firebase

Para fazer com que seu novo site React esteja disponível para acesso por qualquer pessoa em qualquer lugar, digite o comando abaixo.

Os arquivos da pasta build serão carregados para a nuvem do Firebase:

firebase deploy

firebase deploy

Observe a URL pública criada automaticamente pelo Firebase para o seu projeto!

Digite essa URL gerada no seu navegador e aprecie o resultado!

https://reactbasicao-1bf63.web.app

Prontos para a próxima fase?!?!

Vá para o próximo tutorial:

https://medium.com/como-programar-em-1-dia/como-fazer-um-app-em-1-dia-com-react-e-firebase-4bfd8406993d

Como fazer um app em 1 dia com React e Firebase!

--

--