Flutter có hai loại widget cơ bản: StatelessWidget (bất biến, không có state nội bộ thay đổi) và StatefulWidget (có thể giữ và cập nhật state có thể thay đổi, rebuild khi state thay đổi). Chọn đúng loại là nền tảng để xây dựng UI Flutter.
StatelessWidget — không có state thay đổi
// một StatelessWidget: chỉ mô tả UI dựa trên đầu vào của nó (bất biến, không có state nội bộ)
class Greeting extends StatelessWidget {
final String name;
const Greeting(this.name);
@override
Widget build(BuildContext context) {
return Text('Hello, $name'); // UI chỉ phụ thuộc vào đầu vào, không bao giờ tự thay đổi
}
}
// → dùng cho UI không tự thay đổi (nội dung tĩnh, hiển thị dựa trên đầu vào)
