Otimização de desempenho
Otimização de FlatList, memo, useMemo/useCallback, Hermes, profiling, tamanho do bundle
1Qual é o papel principal do React.memo na otimização de desempenho do React Native?
Qual é o papel principal do React.memo na otimização de desempenho do React Native?
Resposta
React.memo é um Higher-Order Component que memoriza o resultado de renderização de um componente funcional. Ele evita re-renders desnecessários comparando as props atuais com as anteriores (shallow comparison por padrão). Se as props não mudaram, o React reutiliza o resultado memorizado em vez de renderizar novamente o componente, o que melhora significativamente o desempenho em listas ou árvores de componentes complexas.
2Qual propriedade do FlatList otimiza significativamente o scroll fornecendo as dimensões dos items com antecedência?
Qual propriedade do FlatList otimiza significativamente o scroll fornecendo as dimensões dos items com antecedência?
Resposta
getItemLayout é uma propriedade opcional do FlatList que permite calcular com antecedência a altura, a largura e o offset de cada elemento. Isso evita que o React Native meça dinamicamente cada item, o que melhora consideravelmente o desempenho do scroll, especialmente ao saltar para um índice específico com scrollToIndex. Essa otimização é particularmente útil quando todos os items têm o mesmo tamanho.
3Qual é a diferença principal entre useMemo e useCallback em termos de otimização?
Qual é a diferença principal entre useMemo e useCallback em termos de otimização?
Resposta
useMemo memoriza o resultado de um cálculo custoso e retorna esse valor calculado, enquanto useCallback memoriza uma função em si e retorna essa função. useMemo é útil para evitar recálculos pesados a cada render, enquanto useCallback é essencial para evitar recriar funções passadas como props para componentes filhos memorizados, o que quebraria sua otimização React.memo.
O que é o Hermes e qual é a sua principal vantagem para as aplicações React Native?
Por que é crucial fornecer uma função keyExtractor estável ao FlatList?
+21 perguntas de entrevista
Outros temas de entrevista React Native
Fundamentos de JavaScript
Fundamentos do React
Fundamentos do React Native
React Hooks
TypeScript para React e React Native
Componentes e API do React Native
Estilização e Layout no React Native
Navegação no React Native
Gerenciamento de Estado no React Native
Networking e API no React Native
Persistência de dados
Formulários e validação
Animações do React Native
Native Modules & Bridge
Código específico de plataforma
Permissões e APIs de dispositivo
Push Notifications
Testing no React Native
Debugging de React Native
Build & Deployment
Expo vs React Native Bare
Gerenciamento de memória
Architecture Patterns
New Architecture do React Native
Melhores Práticas de Segurança
Offline-First Architecture
CI/CD React Native
Monorepo e compartilhamento de código
Tópicos avançados
Ciclo de vida do app e execução em segundo plano
Autenticação e gerenciamento de sessões
Monitoring & Crash Reporting
Domine React Native para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis