⚛️ Bài 1: Giới Thiệu React & Cài Đặt Môi Trường
🎯 Sau bài học này, bạn sẽ:
- Hiểu React là gì và tại sao nó phổ biến
- Biết Virtual DOM hoạt động như thế nào
- Cài đặt Node.js và tạo project React với Vite
- Hiểu cấu trúc thư mục của project React
- Chạy ứng dụng React đầu tiên trên local
1. React Là Gì?
React là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook (Meta) vào năm 2013. React cho phép xây dựng giao diện người dùng (UI) một cách hiệu quả thông qua mô hình component-based — tức chia UI thành các phần nhỏ, độc lập và có thể tái sử dụng.
• Tên: React (ReactJS)
• Phát triển bởi: Facebook/Meta (Jordan Walke)
• Năm ra đời: 2013
• Loại: Thư viện UI (không phải framework)
• Website chính: react.dev
React khác gì Framework?
React là thư viện (library), chỉ tập trung vào phần View (giao diện). Trong khi đó, Angular hay Vue.js là framework cung cấp đầy đủ routing, state management, form handling. Với React, bạn tự chọn thư viện bổ sung theo nhu cầu.
| Tiêu chí | React | Angular | Vue |
|---|---|---|---|
| Loại | Library | Framework | Framework |
| Ngôn ngữ | JSX | TypeScript | Template |
| Học | Dễ bắt đầu | Khó | Dễ |
| Linh hoạt | Rất cao | Hạn chế | Trung bình |
| Cộng đồng | Lớn nhất | Lớn | Đang phát triển |
2. Virtual DOM Hoạt Động Như Thế Nào?
Virtual DOM (DOM ảo) là kỹ thuật giúp React cực kỳ nhanh. Thay vì thao tác trực tiếp với DOM thật (rất chậm), React tạo một bản sao DOM ảo trong bộ nhớ.
Quy trình hoạt động:
- Bước 1: React tạo Virtual DOM (cây JavaScript object nhẹ)
- Bước 2: Khi state thay đổi, React tạo Virtual DOM mới
- Bước 3: So sánh (diff) Virtual DOM cũ và mới
- Bước 4: Chỉ cập nhật những phần thật sự thay đổi lên DOM thật
Thao tác DOM thật rất tốn tài nguyên. Virtual DOM giúp React chỉ cập nhật đúng phần cần thiết, giúp ứng dụng mượt mà ngay cả khi có hàng nghìn element.
3. Cài Đặt Môi Trường
🔧 Cài đặt Node.js
React cần Node.js (để chạy npm/npx). Tải từ nodejs.org (phiên bản LTS).
# Kiểm tra Node.js và npm
node -v # v20.x.x
npm -v # 10.x.x
🚀 Tạo Project React với Vite (Khuyên dùng)
# Tạo project mới
npm create vite@latest my-react-app -- --template react
# Di chuyển vào thư mục project
cd my-react-app
# Cài đặt dependencies
npm install
# Chạy development server
npm run dev
# → http://localhost:5173
4. Cấu Trúc Thư Mục Project React
my-react-app/
├── node_modules/ # Thư viện bên thứ ba
├── public/ # File tĩnh (favicon, images)
│ └── vite.svg
├── src/ # Source code chính
│ ├── assets/ # Hình ảnh, fonts
│ ├── App.css # CSS cho App component
│ ├── App.jsx # Component chính
│ ├── index.css # CSS global
│ └── main.jsx # Entry point
├── index.html # HTML template
├── package.json # Dependencies & scripts
├── vite.config.js # Cấu hình Vite
└── eslint.config.js # Cấu hình ESLint
•
src/main.jsx: Nơi React render App vào DOM•
src/App.jsx: Component gốc của ứng dụng•
package.json: Khai báo dependencies và scripts
5. Chương Trình React Đầu Tiên
Mở file src/App.jsx và thay nội dung:
function App() {
return (
<div>
<h1>Xin chào, React! ⚛️</h1>
<p>Đây là ứng dụng React đầu tiên của tôi.</p>
</div>
);
}
export default App;
File src/main.jsx (entry point):
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.jsx';
import './index.css';
// Render App component vào thẻ #root trong index.html
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
📝 Tóm Tắt Bài Học
- React là thư viện UI của Meta, ra đời 2013
- Virtual DOM giúp React cập nhật UI hiệu quả
- Dùng Vite để tạo project React nhanh chóng
- Entry point:
main.jsx→ renderAppvào#root React.StrictModegiúp phát hiện lỗi trong development