Счётчик по кнопке в Flutter
Счётчик - самый наглядный пример состояния:
одно число в State,
одна кнопка увеличивает его через
setState.
Так проверяют, что StatefulWidget
подключён правильно и hot reload не
ломает логику:
import 'package:flutter/material.dart';
void main() {
runApp(const MaterialApp(home: CounterPage()));
}
class CounterPage extends StatefulWidget {
const CounterPage({super.key});
@override
State<CounterPage> createState() => _CounterPageState();
}
class _CounterPageState extends State<CounterPage> {
int count = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Counter')),
body: Center(
child: Text(
'$count',
style: const TextStyle(fontSize: 48),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
count++;
});
},
child: const Icon(Icons.add),
),
);
}
}
Добавьте вторую кнопку «−1», которая
уменьшает счётчик, но не опускает его
ниже нуля. Обе операции выполняйте
внутри setState.