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.