/banana-fish

Banana Fish is a project for beginners in React, focused on exemplifying basic resources that the library offers

Primary LanguageJavaScript

Banana fish

BananaFish

Banana Fish é uma série de mangá escrita e ilustrada por Akimi Yoshida. Serializado em Shõjo Comic em 1985 a 1994 e adaptado para uma série de televisão de anime em 2018, a série segue Ash Lynx, um líder de uma gangue adolescente em Nova York.

fonte: https://pt.wikipedia.org/wiki/Banana_Fish

Ash Lynx em toda a sua história, eleva sua capacidade de aprendizado e adaptação ao meio, para cresver como líder de gangue, em forme de crecimento e adaptação, este projeto recebe o nome de Banana Fish, simbolizando toda essa capacidade de adaptação e evolução.

Projetos relacionados:

Calculator Crud

O Projeto

Este projeto é uma série de aprendizados sobre a técnologia React, recebendo algumas de suas features documentadas e aplicadas na prática de como manipular componentes dentro do universo React.

Todos o conteúdo é ministrado pelo professor Leonardo Moura Leitão, do curso COD3R, em seu curso Curso de Web Moderno completo.

Conhecimentos

Dentro desse projeto aprendemos como:

  • Inicializar um projeto em React
  • A sintaxe de um arquivo JSX
  • Criar componentes
  • Trabalhar com componentes de função
  • A diferença entre os tipos de exportação de funções
  • Trabalhar com Componentes baseados em classes
  • Manipular o estado de uma função
  • Passagem de parametros para Componentes
  • Componetização de Pais e Filhos
  • Passagem de paramentros de Componentes Pais para Filhos

Inicializando o projeto

Existem diversas formas diferentes de se iniciar um projeto em React, consultando a documentação oficial do React encontramos diversos exemplos de como faze-los, por puro comodismo e nada além disso, gosto de iniciar meus projetos usando o gerenciador de pacotes Yarn, e o inicio da seguinte forma:

yarn global add create-react-app

Após a criação do projeto e do carregamento dos pacotes, o projeto já pode ser codiicado.

Sintaxe JSX

JSX é como é o mesmo que dizer Javascript Extra, como um JS com mais recursos para serem utilizados em sua composição, por mais que o ES6 já suporte muitas coisas, ainda utilizo os exemplos com a construção do JSX. Seu poder vem com a combinação da sintaxe JS com a mesclagem de HTML em seu corpo, como por exemplo:

    const element = <h1>Banana Fish</h1>

Para entender um pouco mais sobre o por que usar JSX, recomendo a documentação oficial do React falando especificamente sobre JSX.

Componentes

teatro

Gosto de pensar em componentes com a seguinte Analogia. Vamos dividir o desenvolvimento Web como uma peça de teatro, onde temos os atores, o palco, e o cenário. Os termos Front e Back end, podemos classificar da seguinte forma:

O Front enxrergamos como tudo aqui que está no palmo, alem das cortinas

E é exatamente isso, tudo o que eu vejo, posso considerar como Frontend, o cenario, o palco, os atores...

O Back são os que estão por trás dos bastidores, os responsáveis por fazer a peça ser funcional

Vemos isso como quem cuida a iluminação, figurino. fumaça e ai por diante, quem trabalha por trás dos panos.

Tendo essa explicação de Front e Back, como o React é uma biblioteca que lida com o FrontEnd de uma aplicação Web, logo temos os componentes, trabalhando diretamente no Front, e o que eles seriam? Tudo, mas gosto de compara-los aos atores da peça de teatro, onde meus componentes são independentes entre si, mas trabalham juntos para a peça, mesmo cada um desempenhando seu próprio papel.

Para entender quantos e quais componentes vamos ter em nossa aplicação, ter em mente toda a razão da aplicação é essencial.

Sem mais delongas, vamos criar nosso primeiro componente.

Para seguir um Style Guide, dentro da pasta src crio um pasta com o nome componets e dentro dela um arquivo com o nome BomDia.jsx com o seguite código:

import React from "react";

export BomDia => (
    <h1>Wellcome to Banana Fish <h1>
);

Tendo assim criado nosso primeiro componente, para inicia-lo dentro e nossa aplicação, basta importa-lo dentro de nosso index.js

import React from "react";
import ReactDOM from "react-dom";
import BomDia from "./components/Bomdia";

ReactDOM.render(
    <BomDia />
, document.getElementById('root'));

Dessa forma nosso component está pronto para ser renderizado pelo navegador e exibo como um ator que criamos.