React 19 Tutorial Passo a Passo: Crie um App Completo do Zero

React 19 Tutorial Passo a Passo (Atualizado 2025): Crie um App Completo do Zero

React 19 tutorial definitivo: primeiramente, você gerará um projeto com Vite; em seguida, entenderá as novidades do Suspense “pre‑warming”; depois, codificará um Todo App completo; e, por fim, fará build & deploy em plataformas como Netlify ou Vercel. Este curso React grátis foi escrito para 2025 e usa APIs estáticas e hidratação otimizada.

Índice do tutorial React 19

  1. Por que React 19?
  2. Setup rápido com Vite
  3. Estrutura de arquivos
  4. Suspense “pre‑warming” na prática
  5. Construindo um Todo App completo
  6. Build & Deploy
  7. Próximos passos

1. Por que React 19?

React 19 estabilizou melhorias no Suspense, introduziu APIs estáticas (use server) e aumentou a performance de hidratação. Além disso, a nova arquitetura mantém retrocompatibilidade, o que torna a migração suave.

2. Setup rápido com Vite

Primeiramente, crie o projeto usando Vite, pois ele oferece carregamento ultrarrápido. Siga:

npm create vite@latest my-react19-app -- --template react
cd my-react19-app
npm install
npm run dev

Em seguida, veja a documentação oficial do Vite para opções extras.

3. Estrutura de arquivos

src/
 ├─ components/
 └─ App.jsx

4. Suspense “pre‑warming” na prática

Logo depois do setup, atualize App.jsx para usar o novo Suspense com unstable_prewarm:

import { Suspense } from 'react';
import TodoList from './components/TodoList';

export default function App() {
  return (
    <Suspense fallback=<p>Carregando…</p> unstable_prewarm={true}>
      <TodoList />
    </Suspense>
  );
}

5. Construindo um Todo App completo

Agora, crie o componente TodoList em src/components/TodoList.jsx:

import { useState } from 'react';

export default function TodoList() {
  const [todos, setTodos] = useState([]);
  const add = e => {
    e.preventDefault();
    const text = e.target.item.value;
    setTodos([...todos, { text, done: false }]);
    e.target.reset();
  };
  return (
    <>
      <form onSubmit={add}>
        <input name="item" placeholder="Nova tarefa" />
      </form>
      <ul>
        {todos.map((t, i) => (
          <li key={i}>{t.text}</li>
        ))}
      </ul>
    </>
  );
}

Consequentemente, por fim você terá um aplicativo funcional que demonstra estado, listas e formulários.

6. Build & Deploy

Depois de testar localmente, gere a versão de produção:

npm run build

Por padrão, a pasta dist/ contém arquivos estáticos. Portanto, você pode:

  • Primeiramente, arraste e solte em Netlify Drop;
  • E logo em seguida: Conecte o repositório no Vercel;
  • Por fim e não menos importante publique via GitHub Pages com gh-pages.

7. Em seguida, siga os passos


Curtiu? Compartilhe!

Loading