Junior — Middle
Can you explain the concept of 'state' in Dart language and how it is used?
sobes.tech AI
Answer from AI
In Dart, the concept of "state" refers to the condition of a widget or application — it is data that can change over time and affect the UI display.
In Flutter, there are two main types of widgets: StatelessWidget (without state) and StatefulWidget (with state). A StatefulWidget stores its state in a State object, which can change and trigger a widget rebuild.
For example, a counter that increases when a button is pressed stores its current value in the state:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _count = 0;
void _increment() {
setState(() {
_count++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Count: \\$_count'),
ElevatedButton(onPressed: _increment, child: Text('Increment')),
],
);
}
}
Thus, "state" is data that determines how a widget looks and behaves, and when it changes, the UI updates.