Phiên bản chính thức của React18 được phát hành và xu hương tương lai

Ngày đăng: 13/04/2022   -    Cập nhật: 14/04/2022

Vào ngày 29 tháng 3 năm 2022, phiên bản chính thức của React 18 đã được phát hành. Kể từ phiên bản 16, nhóm React đã phổ cập khái niệm xử lý Concurrency (Xử lý đồng thời). Trong vòng đời phát triển của phiên bản 18 (alpha, Beta, RC), các tính năng concurrency (tính năng đồng thời) cũng đã được phổ cập, vì vậy khi phiên bản chính thức được phát hành thì không có tính năng mới.

Bài viết này tập trung vào một số xu hướng phát triển của tương lai được tiết lộ trong nhật ký phát hành phiên bản 18.


>>> Tham gia khóa học React tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.
 

Các lập trình viên có thể không quen sử dụng các tính năng concurrency

Đối với React, bạn cần rất cẩn trọng khi thêm các API. Ví dụ: Kể từ khi ra đời vào năm 2013, cách để kích hoạt các bản cập nhật là this.setState. Tuy nhiên, sau khi giới thiệu khái niệm concurrency, một số API liên quan đến nó đã được thêm vào, chẳng hạn như:

  • useTransition
  • useDeferredValue

Thậm chí có những API được thiết kế đặc biệt cho concurrency (nghĩa là, trong trường hợp có concurrency, việc không sử dụng các API này có thể gây ra lỗi), chẳng hạn như:

  • useSyncExternalStore
  • useInsertionEffect

Có rất nhiều API và nó không phải là một API bắt buộc phải sử dụng, ví dụ như useState. Hơn nữa, tính năng của concurrency có phần xa lạ với hầu hết các lập trình viên front-end.

Bạn có thể nghĩ về việc các lập trình viên khó sử dụng trực tiếp các tính năng concurrency này như thế nào.

Do đó, trong các ứng dụng tương lai được phát triển với phiên bản React18, các lập trình viên có thể không quen với các tính năng concurrency. Các tính năng này có nhiều khả năng được đóng gói bởi các thư viện khác nhau.

Ví dụ: startTransition cho phép người dùng chuyển đổi giữa các chế độ xem khác nhau mà không chặn đầu vào của người dùng. API này có thể được triển khai bởi các bộ định tuyến khác nhau và sau đó các lập trình viên có thể xem nó dưới dạng một mục cấu hình.

Mọi thứ đều là Suspense

Đối với React, có hai loại nút thắt cần được giải quyết:

  • Một là sự tắc nghẽn của CPU, chẳng hạn như hoạt động của một lượng lớn phép tính khiến trang bị đóng băng.
  • Hai là IO tắc nghẽn, ví dụ như phải mất thời gian chờ khi yêu cầu dữ liệu máy chủ

Sự tắc nghẽn của CPU được giải quyết bằng cơ chế ngắt ưu tiên của tính năng concurrency.

Còn Suspense giải quyết nút thắt cổ chai của IO.

Từ React.lazy gốc đến Server Components, vẫn đang được phát triển cho đến ngày nay, mọi thứ cuối cùng đều tập trung trong Suspense.

Một số logic này rất phức tạp, chẳng hạn như:

  • Thành phần máy chủ
  • Giải pháp kết xuất phía máy chủ mới

- Do đó, các tác vụ chức năng này dường như không được định hướng trực tiếp cho lập trình viên.

Vậy hãy quay trở lại phiên bản trước, các tác vụ chức năng này sẽ được thực hiện bởi các thư viện khác nhau. Nếu độ phức tạp cao hơn, nó sẽ được thực hiện bởi một framework dựa trên tính năng đóng gói React, chẳng hạn như Next.js và Remix.

Đó là lý do tại sao Sebastian, một nhân vật cốt lõi trong nhóm React, tham gia Next.js.

Có thể nói, định vị tương lai của React là một “hệ điều hành cơ bản front-end”, đủ phức tạp, cho nên nhìn chung, nó được các lập trình viên sử dụng một cách thận trọng.

Các lập trình viên sử dụng các ứng dụng tầng trên khác nhau dựa trên “hệ điều hành”.

Tổng kết lại:

Nếu các thư viện React Like khác nhau trước phiên bản v16 vẫn có thể chiếm một phần của miếng bánh React nhờ độ lớn và hiệu suất, thì hai thư viện này sẽ hoàn toàn là hai track trong tương lai, vì hệ sinh thái của cả hai không còn tương thích nữa.

Trong tương lai, sẽ không còn khái niệm về nhóm React family nữa và các thành phần khác nhau trong nhóm cuối cùng sẽ được giảm xuống thành một mô-đun nhỏ trong một framework lớn hơn.

Vậy hiện tại, bạn đang sử dụng React trực tiếp trong công việc của mình hay bạn đang sử dụng các framework khác nhau (chẳng hạn như Next.js)?

>>> Tham gia lập trình front end tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.

Cảm ơn bạn đã đọc, hẹn gặp bạn trong bài viết sau!



 

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #icthanoi #niithanoi #icthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
 

 
Bình luận Facebook
Khóa học liên quan đến bài viết

KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS

56 giờ
Học Lập trình Front end hiện đại với ReactJS. Học làm chủ HTML, CSS, JS và thư viện JavaScript phổ biến nhất hiện nay. Sẵn sàng đi thực tập / đi làm ngay sau khóa học.

FRONT-END VỚI REACTJS VÀ REACT NATIVE

95h (5,5 tháng)
Khóa học duy nhất tại Hà Nội giúp bạn trang bị kiến thức đa nền tảng về Front-end. Với khóa học này, bạn hoàn toàn có thể làm chủ công nghệ phát triển ứng dụng mobile với React Native đồng thời xây dựng được các Trang Web bằng ReactJS...
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!