Optimización del rendimiento
Optimización de FlatList, memo, useMemo/useCallback, Hermes, profiling, tamaño del bundle
1¿Cuál es el rol principal de React.memo en la optimización del rendimiento de React Native?
¿Cuál es el rol principal de React.memo en la optimización del rendimiento de React Native?
Respuesta
React.memo es un Higher-Order Component que memoriza el resultado del renderizado de un componente funcional. Evita re-renders innecesarios comparando las props actuales con las anteriores (shallow comparison por defecto). Si las props no han cambiado, React reutiliza el resultado memorizado en lugar de volver a renderizar el componente, lo que mejora significativamente el rendimiento en listas o árboles de componentes complejos.
2¿Qué propiedad de FlatList optimiza significativamente el scroll proporcionando las dimensiones de los items por adelantado?
¿Qué propiedad de FlatList optimiza significativamente el scroll proporcionando las dimensiones de los items por adelantado?
Respuesta
getItemLayout es una propiedad opcional de FlatList que permite calcular por adelantado la altura, el ancho y el offset de cada elemento. Esto evita que React Native mida dinámicamente cada item, lo que mejora considerablemente el rendimiento del scroll, especialmente al saltar a un índice específico con scrollToIndex. Esta optimización es particularmente útil cuando todos los items tienen el mismo tamaño.
3¿Cuál es la diferencia principal entre useMemo y useCallback en términos de optimización?
¿Cuál es la diferencia principal entre useMemo y useCallback en términos de optimización?
Respuesta
useMemo memoriza el resultado de un cálculo costoso y devuelve ese valor calculado, mientras que useCallback memoriza una función en sí misma y devuelve esa función. useMemo es útil para evitar recálculos pesados en cada render, mientras que useCallback es esencial para evitar recrear funciones pasadas como props a componentes hijos memorizados, lo que rompería su optimización React.memo.
¿Qué es Hermes y cuál es su principal ventaja para las aplicaciones React Native?
¿Por qué es crucial proporcionar una función keyExtractor estable a FlatList?
+21 preguntas de entrevista
Otros temas de entrevista React Native
Fundamentos de JavaScript
Fundamentos de React
Fundamentos de React Native
React Hooks
TypeScript para React y React Native
Componentes y API de React Native
Estilos y Layout en React Native
Navegación en React Native
Gestión de Estado en React Native
Networking y API en React Native
Persistencia de datos
Formularios y validación
Animaciones de React Native
Native Modules & Bridge
Código específico de plataforma
Permisos y APIs de dispositivo
Push Notifications
Testing en React Native
Debugging de React Native
Build & Deployment
Expo vs React Native Bare
Gestión de memoria
Architecture Patterns
New Architecture de React Native
Mejores Prácticas de Seguridad
Offline-First Architecture
CI/CD React Native
Monorepo y compartición de código
Temas avanzados
Ciclo de vida de la app y ejecución en segundo plano
Autenticación y gestión de sesiones
Monitoring & Crash Reporting
Domina React Native para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis