Class 02: Import/Export component
Giới thiệu
Trong React, để có thể sử dụng một component ở nhiều nơi, chúng ta cần export (xuất) component từ một file và import (nhập) component đó vào file cần dùng. Việc sử dụng đúng cú pháp export và import giúp tổ chức code rõ ràng, dễ tái sử dụng và bảo trì lâu dài.
Export component mặc định (default export)
Khi một component được export mặc định, ta chỉ được phép export duy nhất một giá trị mặc định trong mỗi file.
Cú pháp
// app/components/Header.tsx
'use client';
const Header = () => {
return <header>Đây là header</header>;
};
export default Header;Cách import component mặc định
// app/page.tsx
import Header from './components/Header';
export default function HomePage() {
return (
<div>
<Header />
</div>
);
}Lưu ý
Khi import default, có thể đặt tên tùy ý cho component (nhưng nên giữ tên gốc để dễ hiểu).
Headercó thể đổi thànhMyHeaderhay gì khác:
Export component theo tên (named export)
Cho phép export nhiều component trong cùng một file.
Cú pháp
Cách import component theo tên
Lưu ý
Khi dùng
named export, bạn phải giữ đúng tên khi import.Nếu muốn đổi tên khi import:
Kết hợp default và named export
Bạn có thể vừa export mặc định một component chính, vừa export các component phụ trong cùng file.
Ví dụ
Cách import
Tổ chức component bằng thư mục
Tạo thư mục chứa nhiều component con và có một file index.ts để gom tất cả export.
Cấu trúc thư mục
Nội dung từng file
Import từ index.ts
index.tsLợi ích
Giúp code ngắn gọn, sạch sẽ.
Có thể import nhiều component từ một thư mục duy nhất.
Import component từ thư viện bên ngoài
Ngoài component nội bộ, ta có thể import component từ thư viện như Material UI, Tailwind UI, ShadCN UI, v.v.
Bài tập thực hành cho học viên
Bài tập 1: Tạo 3 component và export theo kiểu named export
Tạo file
MyWidgets.tsxtrongapp/componentsTạo 3 component:
ClockWidget,WeatherWidget,NewsWidgetMỗi component hiển thị một đoạn văn bản mô phỏng (chưa cần logic)
Export cả 3 bằng
exporttheo tên
Import các widget vào
app/page.tsxvà hiển thị chúng.
Bài tập 2: Tạo thư mục common chứa nhiều component và dùng index.ts
common chứa nhiều component và dùng index.tsTạo thư mục
app/components/common/Thêm 2 file:
Title.tsx,Divider.tsxTrong
index.ts, export tất cả các componentImport từ
commontrongpage.tsx
Bài tập 3: Tạo một file component chính có default export, thêm một component phụ dùng named export
File
Notification.tsx:Default export:
NotificationBoxNamed export:
CloseButton
Import và sử dụng trong
page.tsx
Tổng kết
Default export dùng để export một giá trị chính trong file, dễ rename khi import.
Named export cho phép export nhiều giá trị trong cùng một file, phải dùng đúng tên khi import.
Có thể kết hợp cả hai cách export.
Sử dụng
index.tsgiúp gom các export từ nhiều file, tiện quản lý và import.Đây là kỹ năng bắt buộc để tái sử dụng component hiệu quả trong dự án React lớn.
Last updated