Junior — Middle
Leg het verschil uit tussen de toestand die binnen het systeem wordt opgeslagen en systemen die geen toestand tussen verzoeken opslaan.
sobes.tech AI
Antwoord van AI
De toestand die binnen het systeem wordt opgeslagen (stateful), betekent dat het systeem informatie bewaart over eerdere interacties of gegevens tussen verzoeken. Dit stelt het systeem in staat om de context van de gebruiker, instellingen of tussentijdse resultaten te onthouden.
Daarentegen slaan systemen zonder toestand (stateless) geen informatie op tussen verzoeken. Elk verzoek wordt behandeld als nieuw, onafhankelijk, zonder kennis van eerdere verzoeken.
In Flutter wordt dit als volgt weergegeven:
- Stateful Widget — widget die de toestand bewaart (bijvoorbeeld een teller, ingevoerde tekst). Bij verandering van de toestand wordt de widget opnieuw getekend, waarbij de gegevens tussen updates behouden blijven.
- Stateless Widget — widget zonder toestand, die alleen op basis van de invoerparameters wordt opgebouwd en geen interne gegevens bewaart.
Voorbeeld:
class CounterWidget extends StatefulWidget {
@override
_CounterWidgetState createState() => _CounterWidgetState();
}
class _CounterWidgetState extends State<CounterWidget> {
int _counter = 0;
void _increment() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Count: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Increment')),
],
);
}
}
Hier wordt de _counter-status tussen de drukken op de knop bewaard, wat niet mogelijk is in een stateless widget.