Cơ bảnKiến thức cơ bản

React là gì? Giới thiệu ReactJS cho người mới bắt đầu

8 phút đọc0 lượt xem
#react là gì#reactjs#component react#useState#học react

React là gì?

Bạn đang học JavaScript và mọi người xung quanh đều nói "phải học React"? Vậy React là gì và tại sao nó lại quan trọng đến vậy?

Trong bài viết này, chúng ta sẽ tìm hiểu React từ A đến Z – dành riêng cho người mới bắt đầu.

React là gì?

React (hay ReactJS) là một thư viện JavaScript mã nguồn mở được phát triển bởi Meta (Facebook) vào năm 2013, dùng để xây dựng giao diện người dùng (UI) cho website và ứng dụng web.

React là thư viện hay framework?

Đây là câu hỏi nhiều người nhầm lẫn:

  • Thư viện (Library): Chỉ lo một phần cụ thể (React chỉ lo phần View/UI)
  • Framework: Cung cấp đầy đủ mọi thứ (routing, state, v.v.)

React là thư viện, không phải framework. Muốn làm ứng dụng hoàn chỉnh cần kết hợp thêm: React Router (điều hướng), Redux/Zustand (quản lý state), v.v.

Tại sao nên học React?

React phổ biến đến mức nào?

  • Stack Overflow Survey 2024: React là framework/library được dùng nhiều nhất – 42% developer toàn cầu
  • npm downloads: Hơn 20 triệu lần tải/tuần
  • GitHub Stars: 220.000+ stars
  • Công ty lớn dùng React: Facebook, Instagram, Airbnb, Netflix, Uber
  • Tại Việt Nam: FPT, VNG, Tiki, Shopee Vietnam, MoMo và hầu hết startup đều dùng React

Lợi ích thực tế

  • Component tái sử dụng được: Viết một lần, dùng nhiều nơi
  • Virtual DOM: Hiệu năng cao, cập nhật thông minh
  • Ecosystem khổng lồ: Có sẵn thư viện cho mọi nhu cầu
  • React Native: Học React web xong, làm được cả app mobile
  • Nhu cầu tuyển dụng cao: Nhiều vị trí React Developer tại Việt Nam

Tìm hiểu nghề: Frontend Developer là gì?

Các khái niệm cơ bản trong React

Component – "Viên gạch LEGO" của React

Component là đơn vị cơ bản của React. Giống như LEGO – mỗi viên gạch (component) có thể tái sử dụng để tạo ra những công trình lớn hơn.

// Function Component – cách viết hiện đại
function HelloWorld() {
  return <h1>Xin chào thế giới!</h1>;
}

// Dùng component nhiều lần
function App() {
  return (
    <div>
      <HelloWorld />
      <HelloWorld />
      <HelloWorld />
    </div>
  );
}

JSX – Viết HTML trong JavaScript

JSX là cú pháp đặc biệt trông giống HTML nhưng thực ra là JavaScript:

// JSX cho phép dùng biến JS trong HTML
const name = "Nguyễn Văn A";
const greeting = <h1>Xin chào, {name}!</h1>;

// Lưu ý: class → className (class là từ khóa JS)
const button = <button className="btn-primary">Click</button>;

// Style là object
const style = { color: "red", fontSize: "20px" };
const text = <p style={style}>Styled text</p>;

Props – Truyền dữ liệu vào Component

Props là cách truyền dữ liệu từ component cha xuống component con:

// Component nhận props
function UserCard({ name, age }) {
  return (
    <div className="card">
      <h2>{name}</h2>
      <p>Tuổi: {age}</p>
    </div>
  );
}

// Truyền props khác nhau
function App() {
  return (
    <div>
      <UserCard name="Nguyễn Văn A" age={22} />
      <UserCard name="Trần Thị B" age={20} />
    </div>
  );
}

State với useState Hook

State là dữ liệu có thể thay đổi theo thời gian. Khi state thay đổi, React tự động cập nhật giao diện:

import { useState } from 'react';

function Counter() {
  // [giá trị hiện tại, hàm cập nhật] = useState(giá trị ban đầu)
  const [count, setCount] = useState(0);
  
  return (
    <div>
      <p>Số lần click: {count}</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

Tìm hiểu thêm: DOM trong JavaScript – nền tảng mà React xây dựng trên đó.

React vs Vue vs Angular: Nên học gì?

Tiêu chí React Vue Angular
Loại Library Framework Full Framework
Tạo bởi Meta (Facebook) Evan You Google
Độ khó học Trung bình Dễ nhất Khó nhất
Phổ biến (#2024) 1 2 3
Job market Nhiều nhất Khá Trung bình

Lời khuyên: Học React trước – nhiều việc nhất, cộng đồng lớn nhất, dễ chuyển sang Vue/Angular sau.

Bắt đầu với React: Tạo project đầu tiên

# Tạo project với Vite (nhanh nhất, được khuyến dùng)
npm create vite@latest my-app -- --template react
cd my-app
npm install
npm run dev

Mở trình duyệt tại http://localhost:5173 – React app đầu tiên của bạn đã chạy!

Cần biết gì trước khi học React?

Checklist bắt buộc:

Chưa biết JS? Xem: JavaScript là gì?

Lộ trình học React cho người mới

Tuần Nội dung
1–2Component, JSX, Props
3–4State (useState), xử lý sự kiện
5–6useEffect, gọi API
7–8React Router (điều hướng)
9–10Context API (chia sẻ state)
11+Next.js, TypeScript với React

Xem thêm: Lộ trình Frontend 2026Học lập trình ở đâu tốt nhất?

Câu hỏi thường gặp (FAQ)

Cần biết JavaScript giỏi đến mức nào trước khi học React?

Không cần giỏi hoàn toàn, nhưng cần nắm vững: biến, hàm, mảng, object, arrow function, destructuring. Có thể học React và JS cùng lúc!

React và React Native khác nhau thế nào?

React dành cho web. React Native dành cho mobile (iOS/Android). Cả hai dùng cùng ngôn ngữ JavaScript và JSX, nhưng thành phần khác nhau.

Nên học React hay Next.js trước?

Học React trước. Next.js là framework xây dựng trên React, cần hiểu React vững mới học Next.js hiệu quả.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

React - The Complete Guide (incl. React Router & Redux)

Làm chủ React.js với hooks, Redux và dự án thực tế.

4.6499.000 ₫
Xem khóa học →

The Complete Web Developer Bootcamp

HTML, CSS, JavaScript và nền tảng trước khi đi sâu React.

4.7499.000 ₫
Xem khóa học →
Quảng cáo