Giter VIP home page Giter VIP logo

segundo-projeto-react--reprograma--thamyreslais's Introduction

Meu Segundo Projeto React do Zero

Crie um projeto react

Iniciou-se o processo de criação de um projeto react entrando na pasta que eu desejava que a nova pasta fosse criada, cliquei com o mouse direito, selecionei a função 'Git bash Here'

Utilizei o comando 'yarn create react-app atividade-thamyres', ao ficar pronto, rodei o comando 'code .'.

Apague as informações default

Após ser aberto no VS Code, fui ao app.js e exclui da linha 8 á 19 e o comando de import de imagem (que estava entre essas linhas), testei o código desenvolvendo um

Hello World

, fui ao git bash que estava aberto e utilizei o comando 'yarn start' abrindo no navegador o código (ao testar, exclui o h1 e comecei a desenvolver a atividade).

Abri a pasta public, deletei os arquivos: Favicon.ico; logo192.png; logo512.png; manifest.json e robots.txt. Dentro de index.html retiro os links de favicon, logo e manifest, além dos comentários.

Na pasta SRC, apaguei: setupTests.js; reportWebVitals.js; logo.svg e App.text.js. Após apagar, deu uma quebra no código, fui até o arquivo index.js e apago a linha que contém 'reportWebVitals();' linha 14 á 17, necessitando retirar o import da linha 5 também.

Consuma a API pública do gitHub: https://api.github.com/users/thamyreslais/repos

Criei a pasta components e um arquivo nomeado por 'card.jsx', para consumir o API utilizei o async, axios e await, inicialmente ela chega como uma array vazia (linha 5 'useState([])'), para mostrar os repositórios em 'return' foi colocado uma 'ul' após o comando de mapeamento (linha 31 'filtro.map') para retornar uma 'li', sendo sempre necessário passar o 'key' dos API's pois é uma propriedade nativa do react onde deve haver um valor único dentro dos dados.

Para poder utilizar o axios para consumir a API inicialmente foi necessário ir até o git bash já aberto com o arquivo que está usando, escrever 'yarn add axios', ao baixar, importei para o arquivo 'card.jsx' (linha 2 'import Axios from 'axios''), para utilizar o async/await dentro do useEffect é necessário criar uma função (-lembrete: é necessário chamar a função no final para que ela possa rodar-) dentro do mesmo (linha 9), logo após utilizei o await para poder receber os dados da API, criei a variável response para que o react guardasse todos os dados da API e tratasse a promise e pegue com o Axios de dentro do link da API (linha 10). Faz-se mais uma const para guardar na variável todas as respostas que estão vindo de dentro de Data (linha 11)

Para passar os dados que estão dentro da linha 11 para a const inicial sobre repositórios (linha 5) chamei 'setRepositorios(data)', testei com 'console.log(repositorios)' para ver se os dados estavam realmente rodando e aparecendo no console.

Crie um componente título que recebe o texto: "Meu Segundo Projeto React do Zero", a ser renderizado por props ou children

Dentro da pasta 'components' criei um novo arquivo chamado 'Title.jsx' para criar um componente título, com a função sendo redenrizada pelo props, fui ao arquivo App.js, importei o arquivo Title.jsx e chamei a função texto para exibir na tela 'Meu Segundo Projeto React do Zero'

Crie 1 componente que mapeia os dados da lista da API e retorna uma lista, ele também tem um input que pega o texto digitado para atualizar o estado do componente, mostrando na tela somente o valor digitado.

No arquivo 'card.jsx' na área de return criei um 'input' (linha 28) com tag de auto-fechamento, utilizei o placeholder e o onChange no mesmo com um e.target.value, esse valor que será digitado foi guardado dentro da variável 'setBusca' (linha 6). Foi criado o filtro para que sempre ao fazer a busca, apareça quem está sendo buscado, foi criado o estado para o mesmo que inicia com a array vazia 'useState([])' (linha 7), para poder fazer a modificação na tela todas as vezes que a busca mudar é necessário criar um useEffect que fique com uma dependência na busca (useEffect criado na linha 18), chamei o mesmo em uma função dentro recebendo dois parâmetros sendo uma a arrow function ('() => {}') e o segundo parâmetro uma array que guardou a dependência. No useEffect foi colocado o setFiltro, dentro do mesmo ele filtrou o que havia nos 'repositórios' sendo a função 'repositorios.filter' (linha 20) pedindo para retornar uma arrow function com return o 'repositorio.name.includes(busca)' retornar o repositório pelo nome que foi incluído na busca. Sendo necessário colocar no segundo parâmetro (na array) a dependência 'repositorios' e 'busca'

Não mapeando mais 'repositorios', mas sim o 'filtro'

Import no App.js os componentes criados, perceba os erros/warnings que o terminal/console mostra, resolva e faça o projeto funcionar.

fui até 'app.js' importei o Card e o Title e chamei os mesmos.

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.