1. Stateless (Presentational) Component:
- Chỉ nhận props và render UI thuần túy.
- Không lưu giữ hoặc quản lý state nội bộ.
- Rất dễ test vì với cùng một input (props), output (UI) luôn giống nhau.
- Ví dụ: <Button label='Save' onClick={fn} />
2. Stateful (Container) Component:
- Quản lý state nội bộ và các business logic phức tạp.
- Thường làm nhiệm vụ fetch data, xử lý dữ liệu và truyền xuống các component con.
(Lưu ý: Sự phân biệt này đã mờ dần từ khi React Hooks ra đời. Các function component hiện tại đều có thể chứa state thông qua useState nhưng vẫn giữ được cú pháp gọn nhẹ).