Back to questions
Junior — Middle
146
Можете объяснить концепцию StateWidget и как она используется в разработке?
Companies where asked
HamkorBank
Answer from AI
sobes.tech AI
StatefulWidget в Flutter — это виджет, который хранит состояние, способное изменяться во время жизни виджета. В отличие от StatelessWidget, который неизменяем, StatefulWidget позволяет обновлять интерфейс при изменении данных.
Основные моменты:
- StatefulWidget состоит из двух классов: самого виджета и состояния (State).
- Класс State содержит переменные состояния и метод build, который строит UI.
- При изменении состояния вызывается setState(), что приводит к перерисовке виджета.
Пример использования:
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('Счётчик: \\$_counter'),
ElevatedButton(onPressed: _increment, child: Text('Увеличить')),
],
);
}
}
Таким образом, StatefulWidget используется, когда нужно отслеживать и обновлять данные в UI.