Junior — Middle
What method or tool have you used for state management in your projects?
sobes.tech AI
Answer from AI
In Flutter, there are several approaches commonly used for managing component state:
- setState() — a simple way to update the state within a StatefulWidget.
- Provider — a popular package for state management through dependency injection.
- Bloc/Cubit — an architectural pattern for managing state using event streams.
- Riverpod — a modern alternative to Provider with improved flexibility.
Example of using setState:
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
int counter = 0;
void increment() {
setState(() {
counter++;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('Counter: $counter'),
ElevatedButton(onPressed: increment, child: Text('Increment')),
],
);
}
}
For more complex applications, it is recommended to use Provider or Bloc for better scalability.