Flutter memiliki dua tipe widget fundamental: StatelessWidget (immutable, tidak memiliki state internal yang berubah) dan StatefulWidget (dapat menyimpan dan memperbarui mutable state, melakukan rebuild ketika state berubah). Memilih yang tepat adalah fundamental untuk membangun Flutter UI.
StatelessWidget — tanpa changing state
// a StatelessWidget: just describes UI based on its inputs (immutable, no internal state)
class Greeting extends StatelessWidget {
final String name;
const Greeting(this.name);
@override
Widget build(BuildContext context) {
return Text('Hello, $name'); // UI depends only on inputs, never changes itself
}
}
// → use for UI that doesn't change on its own (static content, displays based on inputs)
