Please enable JavaScript.
Coggle requires JavaScript to display documents.
REACT-JS, chay react che do production - Coggle Diagram
REACT-JS
Fundamentals :check:
Props
một cách để truyền dữ liệu từ thành phần cha sang thành phần con. Props là một đối tượng JavaScript bao gồm các thuộc tính và giá trị tương ứng.
được truyền từ component cha đến component con và chỉ có thể được đọc, không thể bị thay đổi bởi component con.
State
một đối tượng lưu trữ các thông tin cục bộ của một component. Nó có thể được thay đổi bên trong component và ảnh hưởng đến cách component được hiển thị trên giao diện.
sử dụng để lưu trữ và quản lý các thông tin nội bộ của component. Khi state thay đổi, React sẽ cập nhật lại giao diện của component và render lại component
Components
-
Class component
Class component được định nghĩa bằng cách tạo một class kế thừa từ React.Component hoặc React.PureComponent. Một class component phải bao gồm một phương thức render() trả về các phần tử JSX để được render ra trên trang web.
Hàm render()
-
dữ liệu thay đổi, React sẽ thực hiện việc update UI với dữ liệu tương ứng
Element và Component
Component
một hàm hoặc một lớp trong React, chứa logic xử lý và UI để hiển thị một phần tử UI cụ thể.
-
Element
-
bao gồm một kiểu (type) để chỉ định loại phần tử UI muốn hiển thị, các thuộc tính (props) của phần tử đó và các con (children) nếu có.
-
-
List and Keys
Các key nói cho React, mỗi thành phần tương ứng với mục này, để nó có thể khớp với chúng sau. Điều này trở nên quan trọng nếu các mục mảng của bạn có thể di chuyển (ví dụ: do sắp xếp), được chèn hoặc bị xóa. Một khóa được lựa chọn tốt giúp phản ứng suy ra chính xác những gì đã xảy ra và thực hiện các bản cập nhật chính xác cho cây Dom.
Here, <Recipe {...recipe} key={recipe.id} /> is a syntax shortcut saying “pass all properties of the recipe object as props to the Recipe component”
Real DOM and Virtual DOM
Real DOM
cấu trúc cây các đối tượng HTML thực tế mà trình duyệt sử dụng để hiển thị giao diện người dùng. Khi có thay đổi nào trong giao diện người dùng, trình duyệt phải tải lại toàn bộ DOM và cập nhật lại giao diện người dùng
Virtual DOM
cấu trúc dữ liệu trung gian trong bộ nhớ của trình duyệt, được sử dụng để đại diện cho cấu trúc DOM thực tế. Khi có thay đổi nào trong giao diện người dùng, React tạo ra một Virtual DOM mới, so sánh với Virtual DOM cũ và xác định các thay đổi cần được thực hiện trên Real DOM. Sau đó, React chỉ cập nhật các thành phần thay đổi thực sự trên Real DOM
sự khác biệt
Tốc độ: Virtual DOM được tạo và cập nhật nhanh hơn Real DOM, giúp tăng hiệu suất và giảm thời gian đáp ứng của ứng dụng.
Bộ nhớ: Virtual DOM được lưu trữ trong bộ nhớ của trình duyệt, điều này giúp giảm tải lên máy chủ và tối ưu hóa việc sử dụng bộ nhớ.
Định dạng: Real DOM là một cấu trúc cây các đối tượng HTML thực tế, trong khi Virtual DOM là một đối tượng JavaScript trừu tượng được lưu trữ trong bộ nhớ của trình duyệt.
-
Introduction
-
Ưu nhược điểm
ưu điểm
Hiệu suất cao: ReactJS sử dụng cơ chế Virtual DOM, giúp giảm tải cho DOM thật và tăng hiệu suất.
Độ linh hoạt cao: ReactJS cho phép phát triển phần mềm theo phương pháp modular, có thể tách thành các thành phần độc lập, dễ dàng quản lý và tái sử dụng.
Hỗ trợ tốt cho SEO: ReactJS cho phép render trên server-side, giúp các trang web được tối ưu hóa cho SEO tốt hơn.
Cộng đồng lớn: ReactJS có cộng đồng rộng lớn, đầy đủ các tài liệu, thư viện hỗ trợ và các dự án mở rộng được phát triển.
nhược điểm
Khó học ban đầu: Vì ReactJS là một thư viện phức tạp, nó có thể khó khăn cho người mới học và phát triển với nó.
Cần sử dụng nhiều công nghệ: Để xây dựng một ứng dụng ReactJS, bạn cần sử dụng các công nghệ khác như Babel và Webpack, và điều này có thể tăng thêm độ phức tạp cho việc phát triển.
Hạn chế trong quản lý state: Trong ReactJS, quản lý state có thể trở nên phức tạp khi ứng dụng của bạn phát triển lớn hơn.
Các phiên bản không tương thích: Với sự phát triển liên tục của ReactJS, các phiên bản cũ có thể không tương thích với các phiên bản mới hơn, dẫn đến việc cập nhật có thể gặp khó khăn.
Các tính năng nổi bật
-
JSX: ReactJS sử dụng JSX (JavaScript XML) để viết mã HTML trực tiếp trong mã JavaScript. JSX giúp dễ dàng xây dựng các thành phần UI và tái sử dụng chúng.
Component-based: ReactJS sử dụng phương pháp phát triển phần mềm theo phương pháp modular,
Server-side rendering: ReactJS cho phép render trên server-side, giúp các trang web được tối ưu hóa cho SEO tốt hơn.
-
Addvanced
-
Addvanced-topic
-
-
-
Context
Context cung cấp một cách thức để truyền dữ liệu qua cây thành phần (component tree) mà không phải chuyển các Props xuống theo cách thủ công ở mọi cấp độ.
Ví dụ: thông tin user đã đăng nhập, tùy chọn ngôn ngữ, UI Theme cần được truy cập trong ứng dụng bởi nhiều component.
Error Bounderies
tính năng của ReactJS cho phép chúng ta bắt lỗi trong các component con (child components) bên trong các component cha (parent components)
-
-
-