React Native

Optimasi Performa

Optimasi FlatList, memo, useMemo/useCallback, Hermes, profiling, ukuran bundle

24 pertanyaan wawancara·
Senior
1

Apa peran utama React.memo dalam optimasi performa React Native?

Jawaban

React.memo adalah Higher-Order Component yang me-memoize hasil render dari sebuah komponen fungsional. Ia mencegah re-render yang tidak perlu dengan membandingkan props saat ini dengan props sebelumnya (shallow comparison secara default). Jika props tidak berubah, React menggunakan kembali hasil yang sudah di-memoize alih-alih me-render ulang komponen, yang secara signifikan meningkatkan performa pada list atau pohon komponen yang kompleks.

2

Properti FlatList mana yang secara signifikan mengoptimalkan scroll dengan menyediakan dimensi item di awal?

Jawaban

getItemLayout adalah properti opsional FlatList yang memungkinkan menghitung terlebih dahulu tinggi, lebar, dan offset setiap elemen. Hal ini mencegah React Native mengukur setiap item secara dinamis, sehingga secara signifikan meningkatkan performa scroll, terutama saat melompat ke indeks tertentu dengan scrollToIndex. Optimasi ini sangat berguna ketika semua item memiliki ukuran yang sama.

3

Apa perbedaan utama antara useMemo dan useCallback dalam hal optimasi?

Jawaban

useMemo me-memoize hasil dari perhitungan yang mahal dan mengembalikan nilai terkomputasi tersebut, sedangkan useCallback me-memoize fungsi itu sendiri dan mengembalikan fungsi tersebut. useMemo berguna untuk menghindari perhitungan ulang yang berat pada setiap render, sementara useCallback penting untuk menghindari pembuatan ulang fungsi yang diteruskan sebagai props ke komponen anak yang sudah dimemoize, yang akan merusak optimasi React.memo mereka.

4

Apa itu Hermes dan apa keuntungan utamanya untuk aplikasi React Native?

5

Mengapa penting menyediakan fungsi keyExtractor yang stabil ke FlatList?

+21 pertanyaan wawancara

Kuasai React Native untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis