Junior — Middle
Magyarázza el a rendszerben tárolt állapot és az állapotot nem megőrző rendszerek közötti különbséget.
sobes.tech MI
Válasz az MI-től
Az állapot, amelyet a rendszer belsejében tárolnak (stateful), azt jelenti, hogy a rendszer információkat tárol a korábbi interakciókról vagy adatok között a kérések között. Ez lehetővé teszi a rendszer számára, hogy emlékezzen a felhasználói kontextusra, beállításokra vagy közbenső eredményekre.
Ezzel szemben az állapot nélküli rendszerek (stateless) nem tárolnak semmilyen információt a kérések között. Minden kérés újként és függetlenül kerül feldolgozásra, anélkül, hogy ismernék a korábbiakat.
Flutterben ez így nyilvánul meg:
- Stateful Widget — olyan widget, amely tárolja az állapotot (pl. számláló, beírt szöveg). Az állapot változásakor a widget újrarajzolódik, megőrizve az adatokat a frissítések között.
- Stateless Widget — állapot nélküli widget, amely csak a bemeneti paraméterek alapján épül fel, és nem tárol belső adatokat.
Példa:
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')),
],
);
}
}
Ebben az esetben az _counter állapot a gombnyomások között megmarad, ami nem lehetséges stateless widget esetén.