Olá Eduardo,
Sua pergunta é muito relevante e demonstra que você está realmente se aprofundando no Flutter. Vamos lá!
Quando falamos em classes Stateful e Stateless, estamos falando sobre o gerenciamento de estado dos widgets. Um widget Stateless é imutável, ou seja, uma vez que seus atributos são definidos, eles não podem ser alterados. Já um widget Stateful pode mudar ao longo do tempo, ou seja, ele é mutável.
No seu caso, você tem um botão e um texto que muda de acordo com a quantidade de vezes que o botão é pressionado. Isso indica que você precisa de um widget que possa mudar seu estado, ou seja, um Stateful widget.
Agora, em relação a qual classe deve herdar de Stateful, isso vai depender da sua necessidade. Se você tem vários widgets que mudam de estado na mesma tela, pode ser uma boa ideia ter uma classe Stateful que englobe todos eles. Mas se apenas um ou outro widget muda de estado, pode ser mais eficiente ter cada um deles como uma classe Stateful separada.
No seu exemplo, a classe que retorna as linhas (com o botão e o texto) poderia ser a classe Stateful, já que ela é quem gerencia o estado desses widgets.
Aqui está um exemplo de como poderia ser essa classe:
class LinhaBotaoTexto extends StatefulWidget {
@override
_LinhaBotaoTextoState createState() => _LinhaBotaoTextoState();
}
class _LinhaBotaoTextoState extends State<LinhaBotaoTexto> {
int _contador = 0;
@override
Widget build(BuildContext context) {
return Row(
children: <Widget>[
RaisedButton(
onPressed: () {
setState(() {
_contador++;
});
},
child: Text('Pressione'),
),
Text('Botão pressionado $_contador vezes'),
],
);
}
}
Nesse exemplo, a classe LinhaBotaoTexto
é um StatefulWidget e tem um estado _contador
que muda cada vez que o botão é pressionado.
Espero ter ajudado e bons estudos!