Stateless (presentational) component chỉ nhận props và render UI thuần túy, không giữ state nội bộ — dễ test vì output chỉ phụ thuộc vào input.
Ví dụ: <Button label='Save' onClick={fn} />. Stateful (container) component quản lý state và business logic, thường fetch data và pass xuống. Phân biệt này mờ dần từ khi Hooks ra đời — function component giờ có thể có state qua useState và vẫn được coi là một loại component duy nhất.
A stateless (presentational) component only receives props and renders pure UI with no internal state — easy to test because output depends solely on input.
Example: <Button label='Save' onClick={fn} />. A stateful (container) component manages state and business logic, typically fetching data and passing it down. This distinction has blurred since Hooks — function components can now hold state via useState while still being considered a single unified component type.