Giter VIP home page Giter VIP logo

on17-todasemtech-reactiii's Introduction

On17 - ReactJS | Aula 03

image

Recebam minhas boas vindas!

✅ Chamada

✅ Acordos

✅ Apresentação das monitoras




Revisão

Conteúdos da aula 01 e 02
O que é e quem usa react?
Preparando o ambiente e "Olá, Mundo!"
Componentes e JSX
Props e State
Eventos (onClick e onChange), listas e chaves
Introdução aos hooks (useState e useEffect)



🚀 Vambora pra o conteúdo da aula 3?

⚠️ Após essa aula você estará preparada para consolidar o entendimento sobre ReactJS. O objetivo específico da aula é facilitar a criação de um projeto guiado do zero ao deploy.

Conteúdos da aula:
Introdução ao Roadmap React + Próximos passos
Rotas - React Router
Projeto guiado do zero ao deploy


💜 Roadmap de ReactJS

Roadmap : trilha ReactJS

Iniciar nos testes unitários : React Testing Library

ReactJS para iniciantes : Minha palestra no FrontIn Elas Programam

Slides da palestra : Slides da palestra

5 Projetinhos para estudar : Projetos sugeridos na palestra

😎 Rotas - React Router

Lembra que com react estamos construindo SPA(single page application)? O que significa dizer que na real a gente só construiu uma única página. E quando a gente precisa criar um menu e algumas páginas diferentes. Precisamos usar uma biblioteca que nos ajude com isso, a construir rotas no react.

Para que no fim das contas, quando clicarmos no menu ou alterarmos na URL a gente consiga visualizar o conteúdo correto. Vamos aprender a usar a biblioteca react-router-dom.

  1. Vamos instalar com o npm
npm install react-router-dom@6
  1. Vamos criar o arquivo que irá gerenciar nossos endereços
import {  
  BrowserRouter,
  Routes,
  Route
} from 'react-router-dom';

import Home from '../Pages/Home'
import Sobre from '../Pages/Sobre'
import Portfolio from '../Pages/Portfolio'
import Contato from '../Pages/Contato'

function ApplicationRoutes(){
  return(
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="expenses" element={<Sobre />} />
        <Route path="invoices" element={<Portfolio />} />
         <Route path="invoices" element={<Contato />} />
      </Routes>
  </BrowserRouter>
  )
}
export default ApplicationRoutes
  1. Vamos criar o menu
import { Link } from 'react-router-dom'

const Menu = () =>{
  return(
    <ul className="menu">
      <li>
        <Link className="link" to="/">Home</Link>
      </li>
      <li>
        <Link  className="link" to="/sobre">Sobre</Link>
      </li>
      <li>
        <Link  className="link" to="/portfolio">Portfólio</Link>
      </li>
      <li>
        <Link className="link" to="/contato">Contato</Link>
      </li>
    </ul>
  )

}

export default Menu
  1. Podemos usar o menu nas páginas

  2. No app em vez de chamar cada página, iremos usar as Rotas

import ApplicationRoutes from './ApplicationRoutes'

function App() {
  return (
    <div>      
      <ApplicationRoutes/>    
    </div>   
  )
}

export default App;

Acesse a documentação oficial: React Router

❤️ Projeto guiado

Passo a passo

Para Sala [x]Criar organização das pastas

[x] Criar rotas

[x] Criar Menu

[x] Criar Header

[ ] Criar páginas

  • Projetos usando axios
  • Comentários usando localStorage

[x] Subir no netlify e incluir a configuração de redirects

Para Casa [ ] Criar e incluir footer

[ ] Criar e inclir páginas

  • Sobre
  • Diário da reprograma
  • Contato

Tecnologias

Ferramenta Descrição
vite Gerador de projeto front-end
ReactJS Biblioteca javascript
npm Gerenciador de pacotes
axios Para consumo de API
react-router-dom Criador de rotas
netlify Hospedagem
react-icons Icones grátis
css Folhas de estilos
Google fonts Fonte
undraw Banco de ilustrações grátis

|

Arquitetura

 📁 projeto-guiado
   |- 📁 src
   |     |- 📁 assets
   |     |- 📁 components
   |       |- 📁 Footer
   |       |- 📁 Header
   |       |- 📁 Menu
   |     |- 📁 pages
   |       |- 📁 Sobre
   |       |- 📁 Comentarios
   |       |- 📁 Projetos
   |       |- 📁 Diario
   |       |- 📁 Contato
   |     |- 📁 routes
   |- 📁 node_modules
   |- 📄 app.jsx
   |- 📄 main.jsx
   |- 📄 .gitignore
   |- 📄 package.json  
   |- 📄 package-lock.json

Entregavel da semana

  • Utilize o mesmo projeto criado em sala de aula para incluir as páginas de sobre, diário da reprograma e contato.

  • Lembre-se de incluir essas páginas no menu e na rota também

- Eu fiz o meu, vem aqui entender melhor e se inspirar: Meu portfólio da reprograma

Entrega pelo classroom

  1. Link do github
  2. Link do projeto no ar com o deploy feito pelo netlify
  3. Tente fazer em tempo hábil pra aproveitar a aula de quinta e as monitorias pra tirar dúvidas.
  4. Arraseee! E qualquer coisa, me chama!

Foi incrível compartilhar essa jornada com vocês! Qualquer dúvida ou sugestão, chama no contatinho!

Vamos nos conectar!


Feito com 💜 por Simara Conceição

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.