# TypeScript com React (React / Next.js) > Tipos para props, state, events, generics, FC type, children type, tipagem de hooks - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: React / Next.js](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista.md) ## 1. Qual é a sintaxe correta para tipar as props de um componente React? **Resposta** A interface Props seguida da tipagem da função com Props como parâmetro é a sintaxe padrão recomendada. Esta abordagem oferece excelente inferência de tipos e permite reutilizar facilmente o tipo Props em outras partes do código. É mais explícita que React.FC e oferece melhor controle sobre a tipagem de children. ## 2. Como tipar corretamente um state simples com useState? **Resposta** TypeScript infere automaticamente o tipo do state a partir do valor inicial passado ao useState. Para um valor simples como uma string, não é necessário especificar explicitamente o tipo genérico. A inferência automática é suficiente e torna o código mais conciso. A tipagem explícita torna-se útil apenas para uniões ou quando o valor inicial é null. ## 3. Qual é o tipo correto para um evento onClick em um botão? **Resposta** React.MouseEvent é o tipo específico para eventos de clique em um botão. O parâmetro genérico HTMLButtonElement especifica o elemento DOM envolvido, o que permite acessar propriedades específicas do botão via event.currentTarget. Usar MouseEvent do DOM nativo ou um tipo muito genérico perderia essa precisão de tipagem. ## Mais 17 perguntas disponiveis - Qual tipo usar para tipar os children de um componente wrapper? - Qual é a principal diferença entre React.FC e a tipagem direta? 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 - [Formulários e Controlled Components](https://sharpskill.dev/pt/technologies/react-next/perguntas-entrevista/forms-controlled-components.md): 20 perguntas, Mid-Level - [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 - [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/typescript-react