Junior — Middle
Објасните концепт StatefulWidget у Flutter-у и у чему се разликује од StatelessWidget?
sobes.tech АИ
Одговор од АИ
U Flutter-u, StatefulWidget je vidžet koji može menjati svoje stanje tokom rada aplikacije. On čuva svoje stanje u posebnom objektu State, i kada se to stanje promeni, poziva se metoda setState(), koja osvežava interfejs.
Za razliku od toga, StatelessWidget nema unutrašnje stanje i uvek se gradi na osnovu prosleđenih parametara. Ne menja se nakon kreiranja.
Primer:
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('Brojač: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Povećaj')),
],
);
}
}
Ovde, CounterWidget je StatefulWidget jer se vrednost brojača menja i utiče na UI. Ako se stanje ne bi menjalo, mogao bi biti korišćen StatelessWidget.