Flutter has two main types of widgets:
StatelessWidget: Immutable widgets that don't change once built
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text('Hello World');
}
}
StatefulWidget: Widgets that can change their appearance in response to events
class Counter extends StatefulWidget {
@override
_CounterState createState() => _CounterState();
}
class _CounterState extends State<Counter> {
int count = 0;
@override
Widget build(BuildContext context) {
return Text('Count: $count');
}
}