Class 02: ReactJS Component
Giới thiệu về Component trong React
Component là khối xây dựng cơ bản nhất trong React. Mỗi component đại diện cho một phần của giao diện người dùng (UI) và có thể được tái sử dụng ở nhiều nơi.
Trong Next.js App Router, component có thể được sử dụng trong các route như app/page.tsx
hoặc trong các component UI tái sử dụng trong thư mục components
.
Cách tạo Function Component bằng TypeScript
Cú pháp cơ bản
Lưu ý
Trong App Router, các file client-side cần có dòng
'use client'
ở đầu file nếu sử dụng state, event, hoặc effect.Tên component phải viết hoa chữ cái đầu (
Hello
), nếu không sẽ không được React hiểu là một component.File có đuôi
.tsx
cho phép viết JSX kết hợp TypeScript.
Tạo Component có Props với TypeScript
Props là cách truyền dữ liệu vào component từ nơi sử dụng nó. Ta định nghĩa kiểu của props bằng type
hoặc interface
.
Ví dụ component nhận props
Cách sử dụng component có props
Truyền children
cho Component
children
cho ComponentMột prop đặc biệt trong React là children
, dùng để nhúng nội dung con vào component cha.
Ví dụ component layout dùng children
children
Cách sử dụng
Tái sử dụng Component qua danh sách .map()
.map()
Bạn có thể render nhiều component cùng loại với dữ liệu từ mảng.
Ví dụ hiển thị danh sách sản phẩm
Bài tập thực hành cho học viên
Bài tập 1: Tạo component ProfileCard
ProfileCard
Nhận props:
avatar: string
,fullName: string
,bio: string
Hiển thị ảnh đại diện, tên, mô tả ngắn gọn
Dùng CSS Module để căn chỉnh layout, bo tròn ảnh
Bài tập 2: Tạo component Button
có thể tái sử dụng
Button
có thể tái sử dụngNhận props:
onClick: () => void
,label: string
,variant: 'primary' | 'secondary'
Khi click thì
console.log('Clicked!')
Tổng kết
Component là phần tử cơ bản nhất của UI trong React
Props là cách truyền dữ liệu vào component, nên dùng
type
để khai báo rõ ràngchildren
giúp truyền nội dung lồng vào trong componentCSS Module giúp style độc lập, dễ tái sử dụng
App Router yêu cầu
'use client'
nếu dùng tương tác
Last updated