Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah perbezaan antara versi react15 dan react16?
Perbezaan: 1. Seni bina versi 15 dibahagikan kepada dua bahagian: penyelaras dan pemapar, manakala seni bina versi 16 dibahagikan kepada tiga bahagian: penjadual, penyelaras dan pemapar 2. Penyelaras versi 15 menggunakan rekursi Kerja borang adalah segerak, dan versi 16 pendamai menggunakan kemas kini gangguan tak segerak dan bukannya kemas kini segerak versi 15.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi react16&&react15, komputer Dell G3.
1 Seni bina react15 boleh dibahagikan kepada dua lapisan:
Reconciler (Penyelaras) - Ketahui komponen yang perlu dikemas kini dan kenal pasti cara untuk mengemas kini
Renderer (Renderer) - Bertanggungjawab untuk memaparkan komponen yang diubah ke halaman
2. Seni bina react16 boleh dibahagikan kepada tiga lapisan:
Penjadual (Penjadual) - keutamaan tugas penjadualan, yang berkeutamaan tinggi memasuki peringkat Reconciler terlebih dahulu
Reconciler (Penyelaras) - Ketahui komponen yang perlu dikemas kini, dan kenal pasti cara mengemas kini
Renderer (renderer) - bertanggungjawab untuk memaparkan komponen yang diubah ke halaman
Dikatakan pada permulaan :
Mekanisme penyemak imbas 16.6ms
Untuk mata manusia, kadar penyegaran normal dan lancar ialah 60hz, iaitu 60 bingkai, iaitu penyemak imbas menyegarkan sekali setiap 16.6ms.
Kami tahu bahawa js boleh mengendalikan elemen dom, jadi utas GUI dan utas js penyemak imbas adalah saling eksklusif. Pelaksanaan js dan lukisan serta susun atur penyemak imbas tidak boleh dilakukan pada masa yang sama. Oleh itu, penyemak imbas mesti melakukan operasi berikut setiap 16.6ms:
Pelaksanaan skrip JS ------ Reka letak gaya penyemak imbas ------ Lukisan gaya penyemak imbas
Jika js Pelaksanaan masa skrip terlalu panjang, melebihi 16.6ms Lukisan dan susun atur penyemak imbas tidak boleh dilaksanakan semasa penyegaran ini, yang akan menyebabkan ketinggalan yang boleh dikenali oleh mata manusia "semasa operasi. Sebagai contoh: untuk pengguna memasukkan kandungan dalam kotak input, ia ditunjukkan sebagai menekan butang papan kekunci tetapi input tidak dipaparkan dalam masa nyata pada halaman.
Perbezaan antara 15 dan 16
Pendamai bagi react15 ialah pendamai tindanan. Maksudnya, ia berfungsi dalam bentuk rekursif, segerak, dan tidak boleh diganggu semasa proses menjana pokok DOM maya dan membezakannya. Dengan cara ini, apabila tahap komponen terlalu dalam, masa pelaksanaan js akan menjadi terlalu lama, dan penyemak imbas tidak boleh susun atur dan melukis, mengakibatkan kehilangan bingkai.
Pendamaikan react16 ialah pendamai gentian. Iaitu, kemas kini gangguan tak segerak digunakan dan bukannya kemas kini segerak react15 Penjadual react16 akan memberitahu pendamai sama ada penyemak imbas mempunyai masa lapang untuk melaksanakan skrip js. Ini tidak akan menjejaskan kerja lukisan dan reka letak penyemak imbas. Tiada bingkai jatuh.
Dalam react16, DOM maya asal, kerana strukturnya tidak lagi dapat memenuhi keperluan kemas kini gangguan tak segerak, sebaliknya menggunakan struktur baharu Fiber. Nod DOM maya sepadan dengan nod Fiber, dan pokok DOM maya sepadan dengan pokok Fiber.
Pembelajaran yang disyorkan: "tutorial video bertindak balas"
Atas ialah kandungan terperinci Apakah perbezaan antara versi react15 dan react16?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!