React Tutorial - Parte 1
Olá caros leitores,
Link do gitHub do projeto aqui!
Afim de aprimorar os estudos e praticar um pouco de tudo que venho aprendendo sobre React resolvi iniciar uma série de postagens em português e ir evoluindo uma aplicação do zero, implementando desde o básico até features mais avançadas sobre React.
Esta parte 1 ainda terá um pouco de conceitos mas a ideia é que seja prático e um guia para você que tem interesse em aprender esta linguagem.
O que veremos neste post:
- Requisitos básicos para criar um projeto
- Criação de projeto básico.
- Entendimento da estrutura do projeto
- Entendimento da estrutura de projeto atomico
- Instalação de framework - React Bootstrap
- Instalação de framework - PrimeReact (Primefaces)
1. Requisitos básicos para criar um projeto
- NodeJS: https://nodejs.org/en/
- Visual Code ( ou outro editor de sua preferência )
Vamos criar um projeto segundo o basico do site oficial (sempre olho primeiro nos sites oficiais)
https://reactjs.org/
Abra o prompt e execute o comando que cria um projeto básico e ja pronto para rodar:
npx create-react-app afs-react-tutorial
cd afs-react-tutorial\
![]() |
Criando o projeto |
Inicie a aplicação
npm start
![]() |
Site rodando local |
3. Entendimento da estrutura do projeto
Aqui falarei da estrutura básica de pastas do projeto react criado pelas instruções acima.
Falarei de 4 pontos básicos neste primeiro momento:
Node_modules:
Local onde ficam as libs instaladas ( as libs da criação do projeto e todas que instalar)
scr
Pasta raiz dos nossos componentes. É dentro dela que são criados os componentes e a estrutura atômica
json.config
O arquivo de configuração do seu projeto (comandos e diretorios para rodar a aplicaçào, apontamentos para deploy, teste etc).
gitignore
Arquivo de configuração do GIT onde fica explícito quais arquivos e pastas não serão versionados.
Nota: Create não é a única forma de criar um projeto em react ( existem outras ). É bom saber que existe caso se depare com algum prjojeto com estruturas diferentes.
Mais sobre o comando create-react-app ( criado pelo Facebook) aqui!!
4. Entendimento da estrutura de projeto atomico
Design atômico usa a nomenclatura de átomo e mais 4 correlatos à ele para categorizar os grupos de componentes. São divisões separadas por pastas:
- Atoms
- Molecules
- Organisms
- Templates
- Pages
Todo componente simples seria um átomo , ex:
- Line ( <hr/>), Button, Imput, label
Moléculas seriam 2 ou mais átomos juntos no mesmo componente:
- Caixa de texto com botão
Organismos seriam mais de uma molécula:
- NavBAr
Templates seriam vários organismos em um único componente:
- NavBar + Section + Article
Pages segue a ideia, seria uma página composta de 2 ou mais Templates
Crie as pastas com nomes dos átomos dentro da pasta src:
5. Instalação de framework - React Bootstrap
A melhor adaptação do Boostrap para react.
Execute o comando:
- npm install react-bootstrap bootstrap
6. Instalação de framework - PrimeReact (Primefaces)
Execute os comandos:
- npm install primereact --save
- npm install primeicons --save
Altere o arquivo index.js retirando a referencia ao css index.css e delete este css
Adicione os imports:
O arquivo index.js final ficará assim:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';
import 'bootstrap/dist/css/bootstrap.css';
import 'primereact/resources/themes/nova-light/theme.css';
import 'primereact/resources/primereact.min.css';
import 'primeicons/primeicons.css';
ReactDOM.render(<App />, document.getElementById('root'));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://bit.ly/CRA-PWA
serviceWorker.unregister();
Feito isso vamos deixar o arquivo App.js limpo e colocar um botão do botstrap e um input do primereact.
Apague o arquivo App.css e deixei o arquivo App.js desta forma:
Pare a aplicação e a execute o comando npm start
No próximo parte partiremos para explicação de outros conceitos.
Nestes tutoriais tentarei mostrar os conceitos, ferramentas e abordagens mais utilizadas.
Próximos tópicos incluem: Componentes atômicos, rotas, styled components, lifecyle etc.
Dúvidas e sugestões ?
Comentários
Postar um comentário