Mini-Projeto: Aula 11 – Dashboard de Usuários (Frontend React) ⚛️
Objetivo
Desenvolver uma interface simples em React com TypeScript para listar e adicionar usuários, focando na tipagem de Props, Hooks e Eventos.
🏗️ Requisitos do Projeto
- Componente
UserCardtipado. - Formulário para adicionar novos usuários.
- Uso de
useStatecom interface genérica. - Tipagem de eventos de clique e mudança de input.
🛠️ Passo a Passo
1. Definição da Interface
2. Componente de Lista
const UserList = () => {
const [users, setUsers] = useState<User[]>([]);
const addUser = (nome: string) => {
const newUser = { id: Date.now(), nome, cargo: "Dev" };
setUsers([...users, newUser]);
};
return (
<div>
{users.map(u => <UserCard key={u.id} user={u} />)}
<Form onAdd={addUser} />
</div>
);
};
✅ Desafio Extra
- Crie um
Context APIpara gerenciar o tema da aplicação (Light/Dark) e garanta que o provedor e o hookuseThemeestejam 100% tipados. - Tipar o evento do formulário para evitar o recarregamento da página (
e.preventDefault()).