Sobes.tech
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.