128. How Rendering Works: The Commit Phase Flashcards

1
Q

Apa saja dua fase utama dalam proses rendering React?

A

Render Phase: Fase di mana React menghitung apa yang perlu dirender tanpa menyentuh DOM.
Commit Phase: Fase di mana React menerapkan perubahan yang dihitung ke dalam DOM yang sesungguhnya.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Apa yang memicu dimulainya render phase dalam React?

A

Render phase dimulai ketika terjadi render awal dari aplikasi atau ketika ada perubahan state pada salah satu komponen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Apa yang dimaksud dengan Virtual DOM dalam konteks React?

A

Virtual DOM adalah representasi tidak nyata dari elemen-elemen yang akan ditampilkan di layar.
Dibentuk sebagai pohon (tree) yang disebut Fiber Tree, yang menyimpan elemen React beserta informasi statusnya.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Apa saja informasi yang disimpan oleh setiap node di dalam Fiber Tree?

A

State dan props dari setiap komponen.
Antrian pekerjaan (queue of work) yang mencatat tindakan yang perlu dilakukan.
Side effects yang perlu diproses setelah render.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Apa itu proses rekonsiliasi dalam React?

A

Rekonsiliasi adalah proses di mana React membandingkan virtual DOM baru dengan fiber tree yang ada untuk mengetahui perubahan yang terjadi.
Proses ini mencoba menemukan perbedaan (diff) dan menyusun daftar perubahan yang diperlukan untuk mencerminkan keadaan baru ke dalam DOM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Apa hasil akhir dari render phase dalam React?

A

Fiber Tree yang diperbarui dan sebuah list DOM updates yang berisi semua perubahan yang perlu dilakukan pada DOM yang sebenarnya.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Apa perbedaan antara render phase dan commit phase dalam hal sifat eksekusi?

A

Render Phase: Asynchronous (bisa dijeda, dipecah, dan dilanjutkan kembali untuk menghindari pemblokiran JavaScript).
Commit Phase: Synchronous (semua perubahan dilakukan dalam satu waktu tanpa interupsi).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Apa yang terjadi selama commit phase dalam React?

A

React melakukan:

Penambahan elemen baru ke DOM.
Penghapusan elemen yang tidak diperlukan.
Pembaruan elemen sesuai dengan perubahan yang dihitung.

Semua perubahan diterapkan dalam satu waktu untuk menghindari tampilan UI yang tidak konsisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Mengapa commit phase harus bersifat synchronous?

A

Supaya DOM tidak menampilkan hasil parsial yang dapat membingungkan pengguna.
Memastikan UI tetap konsisten dan tidak berubah-ubah sebelum semua perubahan selesai.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Apa yang terjadi pada Fiber Tree setelah fase commit selesai?

A

Setelah commit selesai, work-in-progress Fiber Tree akan menjadi current Fiber Tree untuk siklus render berikutnya, sehingga dapat digunakan kembali tanpa perlu membuat pohon baru dari awal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Apa hubungan antara React dan DOM?

A

React tidak langsung mengelola DOM.
React hanya melakukan render, sementara React DOM (library terpisah) bertanggung jawab untuk menerapkan hasil render ke dalam DOM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Apa yang dimaksud dengan renderer di dalam React?

A

Renderer adalah library yang bertugas menulis hasil render ke platform target, misalnya:

React DOM untuk aplikasi web.
React Native untuk aplikasi mobile.
Remotion untuk pembuatan video.
Dokumen seperti PDF atau dokumen Word.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Apa alasan React memisahkan proses rendering menjadi dua fase?

A

Dengan memisahkan Render Phase dan Commit Phase, React dapat:

Menjeda, melanjutkan, dan menghentikan proses render tanpa memengaruhi UI.
Melakukan prioritas kerja untuk mengoptimalkan performa.
Memastikan UI tidak menunjukkan hasil yang parsial saat pembaruan terjadi.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mengapa React dapat digunakan untuk berbagai platform seperti web, mobile, dan dokumen?

A

Karena React sendiri hanya bertanggung jawab untuk proses render, bukan untuk pengelolaan platform.
Setiap platform memiliki renderer yang mengelola bagaimana hasil render diterapkan ke dalam UI, seperti React DOM untuk web dan React Native untuk mobile.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly