Junior — Middle
Μπορείτε να εξηγήσετε την έννοια του 'κατάστασης' στη γλώσσα Dart και πώς χρησιμοποιείται;
sobes.tech AI
Απάντηση από AI
Στη Dart, η έννοια του "state" αναφέρεται στην κατάσταση ενός widget ή εφαρμογής — είναι δεδομένα που μπορούν να αλλάξουν με την πάροδο του χρόνου και επηρεάζουν την εμφάνιση του UI.
Στο Flutter, υπάρχουν δύο βασικοί τύποι widget: StatelessWidget (χωρίς κατάσταση) και StatefulWidget (με κατάσταση). Ένα StatefulWidget αποθηκεύει την κατάσταση του σε ένα αντικείμενο τύπου State, το οποίο μπορεί να αλλάξει και να προκαλέσει την ανασχεδίαση του widget.
Για παράδειγμα, ένας μετρητής που αυξάνεται όταν πατάμε ένα κουμπί αποθηκεύει την τρέχουσα τιμή του στην κατάσταση:
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')),
],
);
}
}
Επομένως, το "state" είναι τα δεδομένα που καθορίζουν πώς φαίνεται και πώς συμπεριφέρεται ένα widget, και όταν αλλάζουν, ενημερώνεται το UI.