Professional Documents
Culture Documents
Nhóm1 64cntt - nb+64ttnt2 React
Nhóm1 64cntt - nb+64ttnt2 React
REACT
START
Trình bày bởi Nhóm 1 lớp
64CNTT.NB & 64TTNT2
Thành viên nhóm
Nguyễn Lê Trung Thành
Đoàn Minh Hiếu
Hãy cùng vượt qua Nguyễn Quang Minh
các màn chơi nào! Phạm Quý Vũ
Trần Hùng Anh
Nguyễn Thị Phương Anh
Trần Tuấn Anh
Đỗ Việt Cường
- Levels -
Cấp độ Dễ: Tổng quan về
1. ReactJS là gì? Cấp độ Khó: Nội dung chính
React
2. Lịch sử phát triển và hình thành cộng 1. Virtual DOM
đồng ReactJS ReactJS
2. Cách viết React, sự khác biệt giữa JS và
3. Ưu điểm và nhược điểm của ReactJS JSX?
4. Các đặc trưng của ReactJS 3. Import, export thư viện, CSS trong React
Dễ là một thư viện Javascript Giao diện người dùng bằng ReactJS
ReactJS
được xây dựng từ các đơn vị nhỏ
(opensource) được tạo ra và phát triển bởi
như nút, văn bản và hình ảnh. React
Meta nhằm cải thiện quá trình phát triển
cho phép bạn kết hợp chúng thành
UI, giải quyết các vấn đề hiệu xuất và khả
các thành phần có thể lồng vào nhau
năng tương thích cho các ứng dụng web.
và có thể tái sử dụng.
Cấp độ 1. ReactJS là gì?
Dễ Virtual DOM
Components
Hooks
State
Props
Lists và Keys
Table
Form và xử lí Event
Cấp độ 1. Cài đặt môi trường
TBNodeJS
Trước khi cài đặt ReactJS thì cần đảm bảo máy tính của bạn đã có NodeJS để lập trình ở
local
Tại sao cần cài NodeJS?
NodeJS là một runtime environment cho JavaScript: React.js là một thư viện JavaScript,
và Node.js cung cấp môi trường chạy JavaScript không chỉ cho phía máy chủ mà còn cho
phía máy khách.
Để kiểm tra máy tính của bạn đã có sẵn NodeJS hay chưa bạn có thể mở Terminal và gõ:
node --version
Cấp độ 1. Cài đặt môi trường
TBNodeJS
Nếu máy bạn đã cài đặt NodeJS thì CLI sẽ trả về kết quả là version hiện tại của NodeJS. Ví
dụ:
Trong trường hợp máy bạn chưa cài NodeJS, ở đây tôi recommend việc cài bản LTS.
Link cài: https://nodejs.org/en/
Nên chọn phiên bản này, không nên chọn phiên bản mới nhất. Vì có thể xảy ra lỗi.
Cấp độ 1. Cài đặt môi trường
TB Manager
Package
Sau khi cài đặt Node bạn cần thêm 1 package manager để quản lý các package tại local
Chúng ta có thể dùng 2 loại package manager phổ biến là NPM hoặc YARN
• YARN cài nhanh nhưng có thể bị
lỗi.
• NPM cài lâu nhưng không bị lỗi.
== Chọn hướng dẫn NPM thôi 😊==
Kiểm tra local đã cài đặt NPM hay chưa bạn có thể mở Terminal và gõ:
Nếu máy bạn đã cài đặt NPM thì CLI sẽ trả về kết quả là version hiện tại của NPM. Ví dụ:
Cấp độ 2. Create-React-App
TB
Create-React-App được dùng để khởi tạo nhanh một React SPA.
Note: Required NodeJS >= 14 on local
• Bước 1: Init
Trước khi tạo 1 project, khuyên rằng bạn nên tạo 1 folder trống trong máy để làm
WorkSpace với ReactJS
BạnSau đó chọn
có thể chuột1phải vào
trong folder
các cáchđấy
cài để mở terminal và gõ lệnh tạo:
sau:
NPX NPM YARN
Note: npx chỉ dùng được Note: npm init <initializer> Note: yarn create chỉ dùng
với phiên bản npm 5.2 trở chỉ dùng được với phiên bản được với phiên bản Yarn
lên. npm 6 trở lên. 0.25 trở lên.
Trong đó my-app là tên dự án của bạn.
Cấp độ 2. Create-React-App
TB
• Bước 2: Run
All done !
Project của bạn đã được khởi tạo thành công. Để chạy project tại local, bạn run
command:
TB
TB
Cấp độ 3. Cấu trúc 1 project ReactJS
TB
Src->
index.js
Cấp độ 3. Cấu trúc 1 project ReactJS
TB
Src->
app.js
Cấp độ 3. Cấu trúc 1 project ReactJS
TB
Cấp độ 1. Virtual DOM
Khó
Khó
• DOM biểu diễn trang web như 1 cây,
trong đó mỗi phần tử, thuộc tính, văn
bản, và các thành phần khác đều là
các nút trong cây. DOM cho phép các
ứng dụng web tương tác và thay đổi
trạng thái của web mà không cần tải
lại trang. Điều này tạo ra trải nghiệm
người dùng động và tương tác hơn.
Cấp độ 1. Virtual DOM
Khó
• Nhiệm vụ của DOM JS:
• Cho phép truy xuất đến các thẻ
HTML
• Thay đổi các thuộc tính của thẻ
HTML
• Thay đổi CSS của các thẻ HTML
• Tạo, xóa, thêm các thẻ HTML
Đây là 1 đoạn code Demo DOM. Nó sẽ thông qua id
là container để truyền nội dung vào trong thẻ div.
Qua đó ta có thể thấy DOM sẽ giúp chúng ta thông
qua JS để tương tác và thay đổi nội dung, cấu trúc,
kiểu dáng của 1 trang web động
Cấp độ 1. Virtual DOM
Khó
Virtual DOM và Real DOM
Khó
Virtual DOM và Real DOM
• Real DOM là biểu diễn thực sự của cấu trúc
HTML của trang web, được tạo ra và duy trì bởi trình 1 số điểm khác biệt chính
duyệt web.
• Mỗi lần có sự thay đổi trong cấu trúc của trang
web, Real DOM cần được cập nhật lại hoàn toàn. • Real DOM là cấu trúc thực sự của trang
• Cập nhật Real DOM có thể làm cho ứng dụng web, trong khi Virtual DOM là một biểu diễn ảo
trở nên chậm chạp nếu có nhiều thay đổi, vì quá trình của nó.
render lại DOM có thể tốn nhiều thời gian. • Real DOM được duy trì bởi trình duyệt,
trong khi Virtual DOM thường được sử dụng và
duy trì bởi các framework và thư viện JavaScript.
• Thay đổi trên Real DOM có thể gây ra
hiệu suất kém, trong khi Virtual DOM giúp tối ưu
hóa việc cập nhật DOM để làm giảm thời gian và
tăng hiệu suất.
Cấp độ 2. Cách viết React, Sự khác biệt giữa JS và JSX?
Khó
• React có thể được viết bằng JSX hoặc JS (nhưng khuyến khích học JSX!)
Vậy JSX là gi?
• JSX là một phần mở rộng của JavaScript và về cơ bản trông giống như HTML pha trộn
với JavaScript. => Giúp dễ đọc và dễ hình dung hơn DOM của chúng ta như thế nào
• JSX chỉ có thể trả về một phần tử tại một thời điểm; để giải quyết vấn đề này, bạn có thể
lồng các phần tử con dưới một phần tử cha.
Cấp độ 2. Cách viết React, Sự khác biệt giữa JS và JSX?
Khó
• Đây là JSX
Cấp độ 2. Cách viết React, Sự khác biệt giữa JS và JSX?
Khó
• JSX phải có thẻ đóng, ngay cả
khi đó là thẻ tự đóng.
Khó
Cấp độ 3. Import, Export thư viện, CSS trong React
Khó
CSS trong React
i. Inline Style
• Cũng giống như `Inline style` trong HTML 5, ta có thể viết CSS trực tiếp vào trong các thẻ ở
phần view của component thông qua attribute style.
Cấp độ 3. Import, Export thư viện, CSS trong React
Khó
CSS trong React
i. Inline Style
• Cần lưu ý là phần view của component được viết
bằng JSX nên style cần được viết dưới dạng
object.
Khó
CSS trong React
Khó
CSS trong React
Khó
CSS trong React File CSS
Khó
Component • Component là khối xây dựng cơ bản của một ứng dụng React, cho phép phân chia giao
diện thành các phần nhỏ, hoạt động độc lập và có thể tái sử dụng chúng nhiều lần.
• Ở hình trên, thanh Menu, phần hiển thị thông tin bên trái và bên phải đều là các thành phần riêng
lẻ (component). Khi hợp nhất tất cả các component này lại chúng ta sẽ có được một giao diện
hoàn chỉnh.
Cấp độ 4. Components và Properties binding
Khó
Component
Cấp độ 4. Components và Properties binding
Khó
Class Component
• Class Component được viết bằng cú pháp của ES6 class, yêu cầu phải kế thừa từ class
React.Component. Class components thường được sử dụng khi cần theo dõi trạng thái (state) của
component và sử dụng các lifecycle methods để quản lý vòng đời của component
Cấp độ 4. Components và Properties binding
Khó Component
Function
• Function Component được viết theo cú pháp hàm thông thường của JavaScript, nhận một đối số là
props (nếu cần) và trả về một phần tử React để hiển thị nội dung trên giao diện người dùng.
Function Component không có state và không sử dụng lifecycle methods
Props
• Trong ReactJS, `props` là một từ viết tắt của `properties` - (thuộc tính) và được sử dụng để truyền
dữ liệu từ một component cha xuống một component con trong cây component. Khi truyền dữ liệu
qua props, component con chỉ được đọc, không thể thay đổi dữ liệu đó. Props là một cách để
truyền thông tin giữa các component và giúp tạo ra sự tương tác linh hoạt giữa chúng.
Cấp độ 4. Components và Properties binding
Khó
Props
Cấp độ 5. Router và State
Khó
Router
• React-Router là một thư viện định tuyến (routing) tiêu chuẩn trong React,
• được sử dụng để quản lý việc điều hướng (routing) giữa các trang hoặc các phần khác nhau của
ứng dụng.
• Cài đặt react-router bằng lệnh: npm
install react-router-dom --save
• Nó cung cấp BrowserRouter và
HashRouter, hai thành phần này khác
nhau ở kiểu URL mà chúng sẽ tạo ra và
đồng bộ.
Cấp độ 5. Router và State
Khó
State
Khó
List
• List trong React là một thành phần UI cho phép hiển thị dữ liệu danh sách theo cấu
trúc và giao diện người dùng tương tự như danh sách HTML. List trong React cũng
hỗ trợ các phương thức và thuộc tính quan trọng để xử lý dữ liệu trong danh sách
như map(), filter(), reduce() để thao tác và biến đổi dữ liệu
Keys
• Keys là một định danh duy nhất, được sử dụng để xác định một phần tử duy nhất
trong danh sách. Key giúp React xác định các phần tử đã thay đổi, được thêm mới
hoặc bị xoá. Key nên là một giá trị duy nhất trong phạm vi danh sách và được gắn
cho mỗi phần tử trong List.
Cấp độ 6. List và Keys
Khó
Cấp độ 6. List và Keys
Khó
Cấp độ 7. Form và xử lý Events
Khó
Form
• Là một biểu mẫu cho phép người dùng nhập thông tin và gửi lên server. Trong
HTML các form element như <input>, <textarea>, hay <select> thông thường sẽ tự
quản lý trạng thái của chúng và tự động cập nhật dựa trên dữ liệu người dùng nhập
vào. Còn trong React, các trạng thái thay đổi thì sẽ được giữ trong state của
component, và chỉ được cập nhật khi sử dụng hàm setState()
Xử lý Events
• onChange được sử dụng để xử lý các sự kiện thay đổi, như khi người dùng nhập
văn bản vào một ô nhập hoặc chọn một tùy chọn từ một danh sách thả xuống.
Thường được sử dụng với các thành phần như <input>, <textarea>, và <select>.
Hàm event.target.value có thể truy cập giá trị mới của thành phần.
Cấp độ 7. Form và xử lý Events
Khó
Xử lý Events
Khó
YOU WON!
Cùng theo dõi code minh hoạ nhé!