# Formulários e Controlled Components (React / Next.js) > Controlled components, uncontrolled components, validação de formulários, React Hook Form, tratamento de submit - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: React / Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista.md) ## 1. O que é um controlled component no React? **Resposta** Um controlled component é um elemento de formulário cujo valor é gerenciado pelo estado do React por meio da prop value e de um handler onChange. Isso significa que o React se torna a fonte única de verdade para esses dados. Diferentemente dos uncontrolled components, onde o DOM mantém seu próprio valor, os controlled components oferecem controle total sobre os dados do formulário e facilitam a validação em tempo real. ## 2. Como criar um input controlado no React? **Resposta** Um controlled input requer dois elementos essenciais: a prop value vinculada ao estado do React e um handler onChange para atualizar esse estado. Sem onChange, o input seria somente leitura, pois o React impediria qualquer modificação. Essa abordagem garante que o estado do React permaneça sincronizado com o valor exibido no input, permitindo validação imediata ou transformação dos dados inseridos. ## 3. Qual é a diferença entre um controlled component e um uncontrolled component? **Resposta** A diferença fundamental está na fonte de verdade dos dados. Um controlled component armazena seu valor no estado do React (fonte única de verdade), enquanto um uncontrolled component deixa o DOM gerenciar seu próprio valor, acessível por meio de uma ref. Os controlled components oferecem mais controle e facilitam a validação em tempo real, mas os uncontrolled components podem ser mais simples para formulários básicos sem validação complexa. ## Mais 17 perguntas disponiveis - Como gerenciar múltiplos controlled inputs no mesmo formulário? - Como criar um checkbox controlado no React? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista React / Next.js - [Fundamentos de JavaScript](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/javascript-essentials.md): 25 perguntas, Junior - [Fundamentos do React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-fundamentals.md): 20 perguntas, Junior - [React Hooks](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-hooks.md): 22 perguntas, Junior - [Ciclo de vida dos componentes](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/component-lifecycle.md): 18 perguntas, Junior - [React Router](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-router.md): 20 perguntas, Junior - [Gerenciamento de estado com Context](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/state-management-context.md): 18 perguntas, Junior - [Busca de dados e API](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/fetching-data-api.md): 20 perguntas, Mid-Level - [React Query (TanStack Query)](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-query-tanstack.md): 20 perguntas, Mid-Level - [Styling & CSS-in-JS](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/styling-css-in-js.md): 18 perguntas, Mid-Level - [Fundamentos do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-fundamentals.md): 25 perguntas, Mid-Level - [TypeScript com React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/typescript-react.md): 20 perguntas, Mid-Level - [Data Fetching no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-data-fetching.md): 24 perguntas, Mid-Level - [Server Actions do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-server-actions.md): 20 perguntas, Mid-Level - [Roteamento e Navegação no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-routing-navigation.md): 22 perguntas, Mid-Level - [API Routes do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-api-routes.md): 20 perguntas, Mid-Level - [Metadata & SEO no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-metadata-seo.md): 18 perguntas, Mid-Level - [Middleware e Auth no Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-middleware-auth.md): 22 perguntas, Mid-Level - [Testes em React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-testing.md): 20 perguntas, Mid-Level - [Zustand State Management](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/zustand-state-management.md): 18 perguntas, Mid-Level - [Otimização de Performance React](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-performance-optimization.md): 22 perguntas, Senior - [Error Boundaries & Error Handling](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-error-boundaries.md): 18 perguntas, Senior - [Advanced React Patterns](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/advanced-react-patterns.md): 20 perguntas, Senior - [Recursos avançados do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-advanced-features.md): 24 perguntas, Senior - [Deploy e Produção com Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-deployment-production.md): 20 perguntas, Senior - [Architecture & Design Patterns](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-architecture-patterns.md): 22 perguntas, Senior - [React Server Components](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-server-components.md): 26 perguntas, Senior - [Internacionalização do Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/nextjs-internationalization.md): 20 perguntas, Senior - [React Security & Boas Práticas](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/react-security-best-practices.md): 22 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/forms-controlled-components