O React.js é uma biblioteca de JavaScript desenvolvida pelo Facebook para criar interfaces de usuário (UI) interativas e dinâmicas. Ele é amplamente usado no desenvolvimento de aplicativos web e móveis devido à sua flexibilidade, desempenho e facilidade de uso.
Principais Características do React.js
- Baseado em Componentes:
- As UIs são divididas em componentes reutilizáveis.
- Cada componente encapsula sua lógica, estado e renderização.
- Virtual DOM:
- React usa um DOM Virtual para minimizar alterações no DOM real, o que melhora a performance.
- Apenas as partes da interface que mudam são atualizadas.
- One-Way Data Binding (Fluxo de Dados Unidirecional):
- Os dados fluem em uma única direção, tornando o estado da aplicação previsível e fácil de depurar.
- JSX (JavaScript XML):
- Uma extensão de sintaxe que combina HTML com JavaScript.
- Permite escrever estruturas semelhantes a HTML dentro do código JavaScript.
- Gerenciamento de Estado:
- O estado é gerenciado no componente local ou em bibliotecas como Redux, MobX, ou Context API.
Por que usar React.js?
- Facilidade de aprendizado: Baseado em JavaScript e conceitos simples.
- Reutilização de código: Componentes podem ser reutilizados em diferentes partes da aplicação.
- Ecossistema amplo: Possui uma vasta comunidade, bibliotecas e ferramentas.
Instalação do React.js
Existem várias maneiras de configurar um projeto com React, mas o mais comum é usar o Create React App.
Usando o Create React App:
bashCopiar códigonpx create-react-app nome-do-projeto
cd nome-do-projeto
npm start
Usando Vite (uma alternativa mais rápida):
bashCopiar códigonpm create vite@latest nome-do-projeto --template react
cd nome-do-projeto
npm install
npm run dev
Estrutura de um Projeto React
Depois de criar o projeto, você verá uma estrutura semelhante a esta:
scssCopiar códigosrc/
├── App.js // Componente principal
├── index.js // Ponto de entrada do React
├── components/ // Componentes reutilizáveis
└── styles/ // Arquivos de estilo (CSS)
Criando Componentes
Existem dois tipos principais de componentes no React:
- Componentes Funcionais (recomendados):javascriptCopiar código
import React from 'react'; const MeuComponente = () => { return <h1>Olá, React!</h1>; }; export default MeuComponente;
- Componentes de Classe (menos usados hoje):javascriptCopiar código
import React, { Component } from 'react'; class MeuComponente extends Component { render() { return <h1>Olá, React!</h1>; } } export default MeuComponente;
JSX no React
O JSX permite combinar HTML e JavaScript de forma simples.
Exemplo:
javascriptCopiar códigoconst Ola = ({ nome }) => {
return <h1>Olá, {nome}!</h1>;
};
Gerenciamento de Estado
- State em Componentes Funcionais: Use o hook
useState
para gerenciar o estado local.javascriptCopiar códigoimport React, { useState } from 'react'; const Contador = () => { const [contador, setContador] = useState(0); return ( <div> <p>Contagem: {contador}</p> <button onClick={() => setContador(contador + 1)}>Incrementar</button> </div> ); }; export default Contador;
- State Global: Para estados que precisam ser compartilhados, você pode usar o Context API ou bibliotecas como Redux.
Comunicação entre Componentes
- Props:
- Permite passar dados de um componente pai para um componente filho.
const Saudacao = ({ nome }) => <h1>Olá, {nome}!</h1>; const App = () => <Saudacao nome="João" />;
- Lifting State Up:
- Quando componentes precisam compartilhar o mesmo estado, ele deve ser movido para o pai comum.
Ciclo de Vida dos Componentes
Componentes de classe têm métodos como componentDidMount
, componentDidUpdate
e componentWillUnmount
. Com componentes funcionais, você pode usar o useEffect para lidar com efeitos colaterais.
Exemplo com useEffect:
javascriptCopiar códigoimport React, { useEffect, useState } from 'react';
const ContagemComEffect = () => {
const [contador, setContador] = useState(0);
useEffect(() => {
console.log(`Contador atualizado: ${contador}`);
}, [contador]); // Executa quando 'contador' muda
return (
<div>
<p>Contagem: {contador}</p>
<button onClick={() => setContador(contador + 1)}>Incrementar</button>
</div>
);
};
Estilizando Componentes
- CSS Simples:cssCopiar código
/* styles.css */ h1 { color: blue; }
- CSS Modules:cssCopiar código
/* Saudacao.module.css */ .titulo { color: green; }
javascriptCopiar códigoimport styles from './Saudacao.module.css'; const Saudacao = () => <h1 className={styles.titulo}>Olá, React!</h1>;
- Styled Components: Uma abordagem baseada em JavaScript.javascriptCopiar código
import styled from 'styled-components'; const Titulo = styled.h1` color: red; `; const App = () => <Titulo>Olá, React!</Titulo>;
Por que usar React?
- Escalável para projetos grandes e pequenos.
- Flexível, com ferramentas e ecossistemas ricos.
- Altamente performático, graças ao Virtual DOM.
Se precisar de ajuda para iniciar um projeto ou resolver dúvidas específicas, estou à disposição! 😊
Deixe um comentário