Ottimizzazione delle prestazioni
Ottimizzazione di FlatList, memo, useMemo/useCallback, Hermes, profiling, dimensione del bundle
1Qual è il ruolo principale di React.memo nell'ottimizzazione delle prestazioni di React Native?
Qual è il ruolo principale di React.memo nell'ottimizzazione delle prestazioni di React Native?
Risposta
React.memo è un Higher-Order Component che memoizza il risultato del rendering di un componente funzionale. Evita re-render inutili confrontando le props attuali con quelle precedenti (shallow comparison per impostazione predefinita). Se le props non sono cambiate, React riutilizza il risultato memoizzato invece di ri-renderizzare il componente, migliorando significativamente le prestazioni in liste o alberi di componenti complessi.
2Quale proprietà di FlatList ottimizza significativamente lo scroll fornendo in anticipo le dimensioni degli item?
Quale proprietà di FlatList ottimizza significativamente lo scroll fornendo in anticipo le dimensioni degli item?
Risposta
getItemLayout è una proprietà opzionale di FlatList che permette di calcolare in anticipo l'altezza, la larghezza e l'offset di ogni elemento. Questo evita che React Native misuri dinamicamente ogni item, migliorando notevolmente le prestazioni dello scroll, soprattutto quando si salta a un indice specifico con scrollToIndex. Questa ottimizzazione è particolarmente utile quando tutti gli item hanno la stessa dimensione.
3Qual è la differenza principale tra useMemo e useCallback in termini di ottimizzazione?
Qual è la differenza principale tra useMemo e useCallback in termini di ottimizzazione?
Risposta
useMemo memoizza il risultato di un calcolo costoso e restituisce quel valore calcolato, mentre useCallback memoizza una funzione stessa e restituisce quella funzione. useMemo è utile per evitare ricalcoli pesanti a ogni render, mentre useCallback è essenziale per evitare di ricreare funzioni passate come props a componenti figli memoizzati, il che romperebbe la loro ottimizzazione React.memo.
Cos'è Hermes e qual è il suo principale vantaggio per le applicazioni React Native?
Perché è fondamentale fornire una funzione keyExtractor stabile a FlatList?
+21 domande da colloquio
Altri argomenti di colloquio React Native
Fondamenti di JavaScript
Fondamenti di React
Fondamenti di React Native
React Hooks
TypeScript per React e React Native
Componenti e API di React Native
Styling e Layout in React Native
Navigazione in React Native
Gestione dello Stato in React Native
Networking e API in React Native
Persistenza dei dati
Form e validazione
Animazioni React Native
Native Modules & Bridge
Codice specifico per piattaforma
Permessi e API del dispositivo
Push Notifications
Testing in React Native
Debugging di React Native
Build & Deployment
Expo vs React Native Bare
Gestione della memoria
Architecture Patterns
New Architecture di React Native
Best Practice di Sicurezza
Offline-First Architecture
CI/CD React Native
Monorepo e condivisione del codice
Argomenti avanzati
Ciclo di vita dell'app ed esecuzione in background
Autenticazione e gestione delle sessioni
Monitoring & Crash Reporting
Padroneggia React Native per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis