React
Aprenda React do zero. Componentes, estado, hooks, contexto, desempenho, roteamento, testes e um projeto final.
17 lições, em ordem
- 125 min
O que é React?
Boas-vindas. Se você nunca escreveu uma linha de JavaScript e não tem certeza do que é um "framework", está no lugar certo. Ao fim desta lição você...
What React isComponents as functionsVirtual DOM intuitionRendering JSXCreating a Vite app - 230 min
JSX e Components
Na lição anterior você viu um componente retornar algo parecido com HTML: return <h1>Hello, React</h1>;. Aquilo deve ter soado um pouco estranho....
JSX syntax rulesSingle root elementClassName vs classEmbedding expressions with {}Defining componentsComposing components - 330 min
Props
Todo componente que você escreveu até aqui tinha os valores fixos no código. O Greeting sempre cumprimenta o mesmo nome, o Card sempre mostra o mesmo...
Passing props as attributesReceiving props objectDestructuring props in signatureDefault valuesThinking about prop shapes - 435 min
State com useState
Todo componente que você escreveu até agora renderiza a mesma saída para as mesmas props, sempre. Isso serve para um título ou um card, mas desmorona...
UseState hookReading stateCalling the setterUpdater function formNever mutate stateCounter pattern - 530 min
Manipulando Eventos
Um componente que só renderiza a partir das props e do estado não é interativo por conta própria: alguma coisa precisa perceber quando o usuário...
OnClick handlerOnChange basicsPassing functions vs calling themEvent objectPassing handlers as props - 630 min
Renderização Condicional e Listas
Quase toda tela que você já usou mostra uma coisa em vez de outra dependendo de alguma condição: um aviso de "você tem mensagens novas" que só...
&& for show/hideTernary for either/orMapping arrays to JSXThe key propWhy keys need to be stable - 735 min
Formulários e Controlled Inputs
Digite uma letra num <input> HTML comum e o navegador cuida de tudo sozinho: o elemento do DOM guarda discretamente o que você digitou, e ninguém...
Controlled input patternValue and onChange togetherMulti-field form stateOnSubmit and preventDefaultGathering form data - 840 min
Effects com useEffect
Até aqui, o trabalho de um componente foi olhar para as props e o estado atuais e responder a uma única pergunta: o que deve aparecer na tela agora....
What counts as a side effectUseEffect signatureDependency arrayRunning on mount onlyCleanup functionSubscribe/unsubscribe pattern - 940 min
Busca de Dados
Quase nenhum aplicativo de verdade se sustenta mostrando só os dados que o usuário já tem na tela. Em algum momento um componente precisa pedir...
Fetch inside useEffectLoading/error/data statesAbortController cleanupPreventing setState after unmountMention TanStack Query as a next step - 1035 min
Composição de Components
Você construiu um card com borda e sombra, e ele ficou bom. Agora você precisa do mesmo card em volta de uma foto, em volta de um formulário de login...
Children propWrapping componentsPassing JSX as propsLifting state upThinking in component trees - 1135 min
Context e useContext
A sua aplicação tem um botão para ligar o modo escuro. O botão fica no painel de configurações, mas quem precisa saber do valor é um botão oito...
CreateContextContext.ProviderUseContextWhen context is the right toolContext vs prop drilling tradeoffs - 1235 min
useReducer
Um formulário de checkout começa simples. Existe um valor, então você adiciona useState. Aí ele precisa de uma mensagem de erro, e lá vai outro...
When to reach for useReducerReducer function shapeAction objectsDispatchCombining useReducer with useContext - 1335 min
Hooks Personalizados
Você escreveu uma gaveta que abre e fecha. Três linhas de useState e um manipulador que inverte um booleano. Depois a mesma coisa para um menu...
Extracting stateful logic into a functionUse prefix conventionUseToggle exampleUseLocalStorage exampleHooks rules - 1435 min
Desempenho e Memoization
Sua aplicação tem uma tabela com duas mil linhas e um campo de busca em cima dela. Cada tecla pesa: você digita e, meio segundo depois, a letra...
React.memo for componentsUseMemo for expensive computationsUseCallback for stable function referencesWhen memoization is overkillMeasuring before optimizing - 1540 min
Roteamento com React Router
Tudo o que você construiu até agora vive num único endereço. Existe uma só página, e o que você quer mostrar ao usuário aparece ou some conforme o...
Installing react-router-domBrowserRouterRoutes and RouteLink for navigationUseParamsUseNavigate - 1640 min
Testando Components React
Você muda uma linha em um componente compartilhado e depois passa vinte minutos clicando pela aplicação inteira para conferir que nada mais quebrou....
Vitest + React Testing Library setupRender and screenGetByRole queriesUserEvent for interactionsWriting one good button test - 1760 min
Projeto Final: Aplicativo de Tarefas
Toda lição até aqui entregou uma ideia de cada vez, com um exemplo pequeno em volta. Aplicativos de verdade não são assim. Num aplicativo de verdade...
Combining state, lists, controlled inputsCustom hook for localStorage persistenceSmall routing setupPutting it together
Aprenda React no seu idioma
Cada lição, quiz e resposta do tutor aparece no seu idioma. O tutor de IA responde no idioma em que você pergunta.
Roles that use React
See how hiring teams interview engineers on React, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview