Latihan 1: React Performance Patterns — Performance
Latihan 1 dari materi React Performance Patterns di Performance — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi dua function di kode awal.
shouldMemoize(componentRenderData) menerima object { renderCount, propsChangedPercent, computationMs } dan mengembalikan boolean true hanya kalau ketiganya terpenuhi: renderCount > 5, propsChangedPercent < 30, dan computationMs > 10. Selain itu false. Pakai > dan <, bukan >= atau <=.
identifyUnneededReRenders(components) menerima array berisi { name, propsChanged } dan mengembalikan array baru berisi object yang propsChanged-nya false, dengan urutan yang sama. Object-nya dikembalikan utuh, bukan cuma namanya.
Cek tersembunyi: Sidebar dan Nav yang dua-duanya propsChanged: true harus menghasilkan [].
Baris console.log di kode awal biarkan saja.
Hint
shouldMemoize cuma butuh satu ekspresi boolean yang menggabungkan tiga perbandingan dengan &&. identifyUnneededReRenders menyaring array, jadi pakai method array yang mengembalikan array baru berisi item yang lolos.
Ambil ketiga angka dari object-nya, misalnya dengan const { renderCount, propsChangedPercent, computationMs } = componentRenderData, lalu return renderCount > 5 && ... . Untuk yang kedua: return components.filter((component) => ...).