Sobes.tech
Junior — Middle

Оё метавонед мафҳуми 'ҳолат' дар забони Dart ва чӣ гуна истифода мешавад, шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Дар Dart, концепсияи "state" ба ҳолати widget ё барнома ишора мекунад — ин маълумотҳое ҳастанд, ки метавонанд дар вақти муайян тағир ёбанд ва ба намоиши интерфейси корбар таъсир расонанд.

Дар Flutter, ду навъи асосии widget вуҷуд дорад: StatelessWidget (бе ҳолат) ва StatefulWidget (бо ҳолат). StatefulWidget ҳолати худро дар объекте аз навъи State нигоҳ медорад, ки метавонад тағир ёбад ва дубора расмкашӣ кардани widget-ро ба амал орад.

Масалан, ҳисобкунак, ки бо пахш кардани тугма зиёд мешавад, арзиши ҳозираашро дар ҳолат нигоҳ медорад:

class CounterWidget extends StatefulWidget {
  @override
  _CounterWidgetState createState() => _CounterWidgetState();
}

class _CounterWidgetState extends State<CounterWidget> {
  int _count = 0;

  void _increment() {
    setState(() {
      _count++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('Count: \\$_count'),
        ElevatedButton(onPressed: _increment, child: Text('Increment')),
      ],
    );
  }
}

Аз ин рӯ, "state" маълумотҳое ҳастанд, ки муайян мекунанд, ки чӣ гуна widget мебинад ва чӣ гуна рафтор мекунад, ва вақте ки онҳо тағир меёбанд, UI навсозӣ мешавад.