Sobes.tech
Junior — Middle

Тафовутро дар байни ҳолате, ки дар дохили систем нигоҳ дошта мешавад, ва системҳое, ки ҳолатро байни дархостҳо нигоҳ намедоранд, шарҳ диҳед.

sobes.tech AI

Ҷавоб аз AI

Ҳолат, ки дар дохили система нигоҳ дошта мешавад (бо ҳолат), маънои онро дорад, ки система маълумотро дар бораи ҳамкориҳои қаблӣ ё маълумот байни дархостҳо нигоҳ медорад. Ин имкон медиҳад, ки система контексти корбар, танзимот ё натиҷаҳои миёнаиро ба ёд орад.

Баръакс, системаҳои бе ҳолат (stateless) ягон маълумот байни дархостҳоро нигоҳ намедоранд. Ҳар як дархост ҳамчун нав, мустақил ва бе маълумоти қаблӣ коркард мешавад.

Дар Flutter, ин чунин баён мешавад:

  • Stateful Widget — вҷет, ки ҳолатро нигоҳ медорад (масалан, ҳисобкунанда, матни воридшуда). Вақте, ки ҳолат тағйир меёбад, вҷет дубора тасвир мешавад ва маълумот байни навсозӣ нигоҳ дошта мешавад.
  • Stateless Widget — вҷет бе ҳолат, ки танҳо ба асоси параметрҳои воридотӣ сохта мешавад ва маълумоти дохилиро нигоҳ намедорад.

Масал:

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')),
      ],
    );
  }
}

Ин ҳолат _counter байни пахшҳои тугма нигоҳ дошта мешавад, ки дар вҷети бе ҳолат имконнопазир аст.