Apa yang baru di perpustakaan React JavaScript UI

Kini tersedia dalam keluaran pengeluaran, Versi 16.8 dari perpustakaan React JavaScript UI memiliki kemampuan kait, untuk menggunakan keadaan dan ciri-ciri React yang lain tanpa harus menulis kelas.

Di mana memuat turun React

Anda boleh memuat turun versi produk React dari GitHub.

Versi semasa: Ciri baru di React 16.8

Dikeluarkan pada Februari 2019, React 168 menyediakan implementasi kait untuk DOM, pelayan DOM, penyaji ujian, dan perender dangkal React. Cangkuk disokong dalam React DevTools. Pembangun boleh membina cangkuk mereka sendiri untuk berkongsi logik yang boleh digunakan semula di antara komponen. Tetapi Facebook menasihatkan para pembangun untuk meluangkan masa dengan kemampuan ini, tidak mengesyorkan agar pembangun menulis semula aplikasi untuk menggunakan cangkuk "dalam semalam".

Tidak ada rancangan untuk membuang kelas dari React, jadi pembangun harus mencuba beberapa komponen baru. Kod menggunakan cangkuk pengukur akan berfungsi bersama kod yang ada menggunakan kelas.

Versi sebelumnya: Ciri baru dalam React 16.7

Dikeluarkan pada bulan Disember 2018, React 16.7 menambah kemampuan cangkuk, untuk menggunakan keadaan dan ciri-ciri React lain tanpa menulis kelas.

Cangkuk adalah fungsi yang menghubungkan ke keadaan React dan ciri kitaran hidup dari komponen fungsi. Mereka saat ini bekerja berdampingan dengan kod yang ada, yang memungkinkan penggunaan secara bertahap. Tidak ada rancangan untuk benar-benar membuang kelas dari React. Cangkuk menyelesaikan pelbagai masalah di React termasuk:

  • Kurangnya cara untuk melekatkan tingkah laku yang dapat digunakan kembali pada komponen. Terdapat corak seperti alat peraga dan komponen yang lebih tinggi yang cuba menyelesaikannya, tetapi ini memerlukan penyusunan semula komponen, yang boleh membebankan dan menjadikannya lebih sukar untuk mengikuti kod. Dengan menggunakan cangkuk, pembangun dapat mengeluarkan logik bernegara dari komponen untuk ujian bebas dan penggunaan semula.
  • Komponen kompleks menjadi terlalu sukar untuk difahami. Dengan cangkuk, komponen dapat dibagi menjadi fungsi yang lebih kecil berdasarkan potongan yang berkaitan, seperti mengatur langganan atau mengambil data. Ini dilakukan dan bukannya memaksa perpecahan berdasarkan kaedah kitaran hidup.
  • Kelas boleh mengelirukan kedua-dua orang dan mesin dan dilihat sebagai penghalang terbesar untuk belajar React. Kait membolehkan pembangun menggunakan lebih banyak ciri React tanpa kelas. Cangkuk merangkul fungsi, tetapi tanpa mengorbankan semangat React. Akses disediakan untuk menetas pelarian. Pembangun tidak perlu mempelajari teknik pengaturcaraan fungsional atau reaktif yang kompleks.

Versi sebelumnya: Ciri baru dalam React 16.6

Dilancarkan pada Oktober 2018, React 16.6 memberikan beberapa peningkatan.

  • Dengan memo, pembangun dapat menyelamatkan diri dari rendering dengan komponen fungsi, serupa dengan bagaimana komponen kelas dapat bertahan dari rendering ketika alat peraga input sama menggunakan PureComponentsatau shouldComponentUpdate.
  • Dengan lazy, pemaju dapat menggunakan Suspensekomponen untuk pemisahan kod dengan membungkus import dinamik dalam panggilan ke React.lazy(). Catatan: Ciri ini belum tersedia untuk rendering sisi pelayan.
  • API kemudahan diperkenalkan untuk menggunakan nilai konteks dari dalam komponen kelas. Pembangun telah mengadu bahawa penggunaan API penyokong baru dari React 16.3 mungkin sukar dalam komponen kelas.
  • Kaedah ralat getDerivedStatefromError(),, menjadikan UI fallback sebelum render selesai. Catatan: Ini belum tersedia untuk rendering sisi pelayan, tetapi pembangun boleh mula mempersiapkannya.
  • Dua StrictmodeAPI tidak lagi digunakan: findDOMNode()dan konteks warisan menggunakan contextType dan getChildContext. Pembangun digalakkan untuk meningkatkan ke contextTypeAPI baru .

Versi sebelumnya: Ciri baru di React 16.4

Versi 16.4 React, yang dikeluarkan pada akhir Mei 2018, menambah sokongan untuk acara penunjuk, ciri yang sering diminta, dan juga peningkatan kemampuan rendering tak segerak yang akan datang. Penyemak imbas yang menyokong acara penunjuk merangkumi versi Google Chrome, Mozilla Firefox, Microsoft Edge, dan Microsoft Internet Explorer.

Acara penunjuk adalah peristiwa DOM yang diaktifkan untuk perangkat penunjuk, yang dirancang untuk menyediakan model acara tunggal untuk menangani peranti seperti tetikus atau sentuhan.

Dengan sokongan untuk acara penunjuk, React menambah sokongan untuk jenis acara yang merangkumi:

  • onPointerDow
  • onPointerMove
  • onPointerUp
  • onPointerCancel
  • onGotPointerCapture
  • onLostPointerCapture
  • onPointerEnter
  • onPointerLeave
  • onPointerOver
  • onPointerOut

Keupayaan baru lain dalam React 16.4 termasuk:

  • Keserasian yang lebih baik dengan mod rendering tak segerak yang dirancang. Untuk melakukan ini, pelepasan ini mempunyai perbaikan bug getDerivedStatefromProps, yang kini dipanggil setiap kali komponen diperlukan tanpa mengira mengapa kemas kini itu berlaku. Itu hanya dipanggil jika komponen diberikan kembali oleh ibu bapa dan tidak akan dipecat sebagai hasil daripada orang tempatan setState. Perbaikan tidak mempengaruhi kebanyakan aplikasi tetapi, dalam kes yang jarang berlaku, boleh menyebabkan masalah dengan sebilangan kecil komponen.
  • Komponen profiler eksperimen telah ditambahkan, dipanggil unstable_Profiler, untuk mengukur prestasi.
  • Penyelesai percubaan, untuk membuat perender khusus, menampilkan bentuk konfigurasi host baru yang rata dan tidak menggunakan objek bersarang.
  • Perbaikan pada React DOM termasuk memperbaiki bug yang menghalang penyebaran konteks dalam beberapa kes, dan juga situasi di mana beberapa atribut salah dikeluarkan dari simpul elemen kustom.

Keupayaan panggilan balik eksperimental telah dihapus dalam React Version 16.4 kerana mempengaruhi ukuran bundel dan API tidak cukup baik. Jangkakan ia pada suatu ketika dalam bentuk lain, kata Facebook.

Versi sebelumnya: Ciri baru dalam React 16.3

Pembebasan React versi 16.3 Mac 2018 membawa perubahan kitaran hidup dan juga API untuk konteks.

Perubahan kitaran hidup dalam React 16.3

Untuk kitaran hidup komponen, mod rendering async yang akan datang meregangkan model API komponen kelas, yang digunakan dengan cara yang tidak dimaksudkan pada asalnya. Jadi, kitaran kehidupan baru sedang ditambah, termasuk getDerivedStateFromProps, sebagai alternatif yang lebih selamat untuk kitaran hayat warisan, componentWillReceiveProps. Juga ditambahkan adalah getSnapshotBeforeUpdate, untuk menyokong pembacaan harta tanah yang selamat, seperti DOM sebelum kemas kini dibuat.

React 16.3 juga menambah awalan "tidak selamat" pada beberapa kitaran hidup ini, seperti componentWillMountdan componentWillReceiveUpdate. Dalam keadaan seperti ini, "tidak selamat" tidak merujuk kepada keselamatan tetapi fakta bahawa kod yang menggunakan kitaran hidup ini cenderung mempunyai bug pada versi React yang akan datang.

Dengan keluaran React 16.3, pembangun tidak perlu melakukan apa-apa mengenai kaedah warisan. Pelepasan ini bertujuan untuk mendorong penyelenggara projek sumber terbuka untuk mengemas kini perpustakaan mereka sebelum peringatan penghentian, yang tidak akan diaktifkan sehingga pelepasan berikutnya di baris 16.x.

Versi 16.3 menambah StrictModekomponen, yang mengenal pasti komponen dengan kitaran hidup yang tidak selamat. StrictMode, yang hanya berjalan dalam mod pembangunan, juga memberi amaran tentang penggunaan API ref string warisan dan mengesan kesan sampingan yang tidak dijangka. Ia mengaktifkan pemeriksaan tambahan untuk keturunan. Lebih banyak fungsi akan ditambah kemudian.

API konteks menyokong pemeriksaan jenis statik dan kemas kini mendalam

API konteks baru, menyokong pemeriksaan jenis statik dan kemas kini mendalam. API ini juga lebih efisien daripada versi API eksperimental sebelumnya, kata Brian Vaughn, anggota pasukan teras React JS di Facebook. Konteks membolehkan data dihantar melalui pokok komponen tanpa perlu melewati alat peraga secara manual, beberapa di antaranya merangkumi pilihan tempat dan tema UI. API lama akan terus berfungsi untuk keluaran React 16.x, memberi pengguna masa untuk berhijrah.

Juga baru dalam React 16.3:

  • API yang lebih baik, yang disebut createrefAPI, untuk menguruskan referensi, yang menyediakan cara untuk mengakses nod DOM atau elemen React yang dikembangkan dalam kaedah render.
  • The forwardRefAPI, membantu dengan penggunaan komponen yang lebih tinggi agar menggalakkan penggunaan semula kod.

Versi sebelumnya: Ciri baru dalam React 16.2

Keluaran React 16.2 pada bulan November 2017 membawa keupayaan fragmen untuk meningkatkan sokongan untuk menunjukkan banyak kanak-kanak dari kaedah membuat komponen. Fragmen, yang menyerupai tag JSX kosong, membolehkan pembangun mengelompokkan senarai anak-anak tanpa menambahkan nod ke DOM.

Anda boleh memasang Versi 16.2 dari pendaftaran NPM. Untuk memasang dengan pengurus paket Benang, jalankan yarn add [email protected]^16.2.0 [email protected]^16.2.0. Untuk memasangnya dengan NPM, jalankan npm install --save [email protected]^16.2.0 [email protected]^16.2.0.

Versi sebelumnya: Ciri baru di React 16.0

Digelar "React Fiber" semasa pengembangannya, React 16.0 September 2017 adalah penulisan semula inti React, meningkatkan tanggapan yang dirasakan untuk aplikasi yang kompleks melalui algoritma pendamaian baru. Ciri utama React 16 merangkumi:

  • Kesalahan yang menampilkan jejak tumpukan komponen untuk menjadikannya lebih mudah untuk debug.
  • Mengembalikan rentetan / tatasusunan secara langsung dari kaedah membuat komponen.
  • Perender sisi pelayan yang lebih pantas dan streaming.
  • Prestasi aplikasi yang lebih asli.
  • Peralihan dari lesen Paten BSD + yang kontroversial kepada lesen MIT yang lebih sedap.

Walaupun dalaman React telah ditulis sepenuhnya dalam React 16, API awam "pada dasarnya tidak berubah," kata Sophie Alpert, pengurus kejuruteraan Facebook untuk React. Tujuannya adalah untuk menyelamatkan pemaju daripada menulis semula komponen sedia ada yang dibina dengan React.

Kod baru React 16 ditulis bersama kod lama di repo GitHub, seperti yang biasa dilakukan di Facebook. Tukar antara keduanya dilakukan dengan useFiberbendera ciri Boolean . Proses itu membolehkan Facebook mula membangun pelaksanaan barunya tanpa mempengaruhi pengguna yang ada dan terus membuat perbaikan bug ke pangkalan kod lama.

Setelah beberapa bulan membersihkan bug, Facebook memilih untuk menyampaikan satu produk untuk mengurangkan kemungkinan bug, dan bukannya mengemas kini dua versi React.