ReactJS
Conceitos
O que é React?
- Biblioteca para construção de interfaces;
- Utilizado para construção de Single-Page Applications;
- O React é uma lib, mas por seu ecossistema pode ser considerado um Framework;
- Tudo fica dentro do JavaScript;
- React / ReactJS / React Native;
- React: Biblioteca de construção de interfaces e componentização;
- ReactJS: Comportamento do React no browser;
- React Native: Comportamento do React em dispositivos móveis/
Exemplo do código ReactJS:
import React from "react";import "./button.css";import icon from "./button.png";function Button() {return (<button><img src={icon} /></button>);}
Vantagens
- Organização do código;
- Componentização;
- Divisão de responsabilidades;
- Back-end: Regra de negócio
- Front-end: Interface
- Uma API, múltiplos clientes;
- Programação Declarativa;
- Na programação imperativa, o desenvolvedor descreve ao computador cada passo que ele deve executar;
- Na programação declarativa, o desenvolvedor informa o resultado esperado de acordo com o estado;
JSX
- Escrever HTML dentro do JavaScript;
- Com React podemos criar nossos próprios elementos;
ANTES
function Button() {return React.createElement("button",{ type: "button" },React.createElement("span", { class: "icon" }));}<button type="button"><span class="icon"></span></button>
DEPOIS (Com JSX)
function Button() {return (<button type="button"><span class="icon"></span></button>)}
Nossos próprios elementos (componentes)
function Header() {return <Button />}
Babel / Webpack
- O browser não entende todo esse código;
- O Babel converte o código
JS
de uma forma que o browser entenda; - O Webpack possui várias funções:
- Criação do bundle, arquivo com todo código da aplicação;
- Ensinar ao JavaScript como importar arquivos
CSS
, imagens, etc. - Live reload com Webpack Dev Server;