2.2. React hiển thị lên trình duyệt thế nào ?
Một khái niệm thường được sử dụng để mô tả việc hiển thị lên giao diện người dùng là "render". Vậy React.js render HTML lên trình duyệt như thế nào ?
Nói nôm na, render là việc hiển thị nội dung lên trình duyệt. Nội dung có thể được viết từ các ngôn ngữ khác nhau. Tuy nhiên kết quả cuối cùng là hiển thị nội dung đó trên trình duyệt cho người dùng sử dụng.
Với React.js thì nội dung layout bạn viết không phải nằm ở trang HTML, mà được viết bên trong file Javascript, file HTML chỉ là cầu nối giúp nội dung Javascript "liên kết" với trình duyệt.
Trước tiên ta xét file index.html
sau đây để hiểu nguyên lý hoạt động của nó
Chạy file này trên trình duyệt, ta thu được kết quả như sau:
Qua ví dụ trên, ta thấy nội dung <h1>Hello, React!</h1>
được tạo từ code Javascript, và được truyền vào file HTML thông qua id="root"
, nội dung này sẽ được hiển thị ra trình duyệt. Đây là một hình thức render.
Đó là một ví dụ đơn giản, nhưng thực tế quá trình làm việc của React phức tạp hơn một chút, phần lớn thao tác xử lý đều nằm ở file Javascript.
Sau đây, chúng ta cùng xét một ví dụ phức tạp hơn để hiểu rõ hơn về chúng.
Trong ví dụ này, ta xét 3 file với nội dung như sau:
Để ý ta sẽ thấy, file index.html
không chứa bất kỳ nội dung nào hiển thị trên trình duyệt. Chỉ chứa một thẻ div
có id
là root
.
Ta thấy đoạn code trong hàm return() chính là nội dung được hiển thị ngoài trình duyệt.
File này liên kết với
/puclic/index.html
thông qua/src/index.js
:
Import thư viện React và ReactDOM:
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import nội dung fileindex.css
import App from './App';
import nội dung fileApp.js
ReactDOM.createRoot(document.getElementById('root'))
tạo và render nội dung functionApp
tớiid="root"
Nội dung trên có nghĩa là file /src/index.js
lấy nội dung từ function App
của file /src/App.js
render ra nội dung trả về id="root"
của file /public/index.html
, sau đó hiển thị nội dung này ra trình duyệt.
Last updated