React Native

Performans Optimizasyonu

FlatList optimizasyonu, memo, useMemo/useCallback, Hermes, profiling, bundle boyutu

24 mülakat soruları·
Senior
1

React Native performans optimizasyonunda React.memo'nun temel rolü nedir?

Cevap

React.memo, bir fonksiyonel bileşenin render sonucunu memoize eden bir Higher-Order Component'tir. Mevcut prop'ları öncekilerle karşılaştırarak (varsayılan olarak shallow comparison) gereksiz yeniden render'ları önler. Prop'lar değişmediyse React, bileşeni yeniden render etmek yerine memoize edilmiş sonucu yeniden kullanır; bu da listelerde veya karmaşık bileşen ağaçlarında performansı önemli ölçüde artırır.

2

Hangi FlatList özelliği, öğe boyutlarını önceden sağlayarak kaydırmayı önemli ölçüde optimize eder?

Cevap

getItemLayout, her öğenin yüksekliğini, genişliğini ve offset'ini önceden hesaplamaya olanak tanıyan isteğe bağlı bir FlatList özelliğidir. Bu, React Native'in her öğeyi dinamik olarak ölçmesini önler ve özellikle scrollToIndex ile belirli bir indekse atlarken kaydırma performansını önemli ölçüde artırır. Bu optimizasyon, tüm öğeler aynı boyuta sahip olduğunda özellikle yararlıdır.

3

Optimizasyon açısından useMemo ile useCallback arasındaki temel fark nedir?

Cevap

useMemo, maliyetli bir hesaplamanın sonucunu memoize eder ve bu hesaplanmış değeri döndürür; useCallback ise bir fonksiyonun kendisini memoize eder ve bu fonksiyonu döndürür. useMemo, her render'da ağır yeniden hesaplamaları önlemek için yararlıdır; useCallback ise memoize edilmiş alt bileşenlere props olarak geçirilen fonksiyonların yeniden oluşturulmasını önlemek için gereklidir, aksi takdirde bu fonksiyonların React.memo optimizasyonu bozulur.

4

Hermes nedir ve React Native uygulamaları için temel avantajı nedir?

5

FlatList'e kararlı bir keyExtractor fonksiyonu sağlamak neden çok önemlidir?

+21 mülakat soruları

Bir sonraki mülakatın için React Native'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla