Avoid StatefulWidgets as much as possible
Do
class CustomTextButton extends StatelessWidget { ... }
Don't
class CustomTextButton extends StatefulWidget { const CustomTextButton{Key? key} : super(key: key); @override State<CustomTextButton> createState() => _CustomTextButtonState(); } class _CustomTextButtonState extends State<CustomTextButton>{ ... }
Conclusion: StatefulWidget can rebuild itself, it also decreases the performance. That's why always use StatelessWidget and only if necessary StatefulWidget and use constructor of the reusable widget.