React Native

Ottimizzazione delle prestazioni

Ottimizzazione di FlatList, memo, useMemo/useCallback, Hermes, profiling, dimensione del bundle

24 domande da colloquio·
Senior
1

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.

2

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.

3

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.

4

Cos'è Hermes e qual è il suo principale vantaggio per le applicazioni React Native?

5

Perché è fondamentale fornire una funzione keyExtractor stabile a FlatList?

+21 domande da colloquio

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