Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] setState

Olá, minha dúvida é a seguinte: nesse projeto usamos o setState vazio para informar ao Widget de imagem se tem imagem ou não e isso implica em atualizar o ícone, sem imagem, a adicionar uma imagem que foi passada pelo campo textformfield de imagem. Porque essa ação de recarregar o método build não limpa os outros textformfields?

2 respostas
solução!

Olá Rafael!

No caso específico que você mencionou, o setState é usado para informar ao widget de imagem se há uma imagem ou não, e isso implica em atualizar o ícone. No entanto, você está se perguntando por que essa ação de recarregar o método build não limpa os outros TextFormFields.

A resposta para essa pergunta está no conceito de estado efêmero e estado do aplicativo. No Flutter, existem dois tipos de estados: o estado efêmero, que é passageiro e não precisa ser compartilhado com muitos widgets, e o estado do aplicativo, que precisa ser compartilhado com vários widgets.

No caso do setState, ele é usado para atualizar o estado efêmero de um widget específico. Isso significa que apenas o widget em questão será reconstruído quando o setState for chamado. Os outros widgets não serão afetados, a menos que também dependam desse estado efêmero.

Se você precisa compartilhar o estado entre vários widgets, é necessário usar o estado do aplicativo. Nesse caso, você pode usar um gerenciador de estado, como o Provider ou o Bloc, para compartilhar o estado entre os widgets.

Em resumo, o setState é usado para atualizar o estado efêmero de um widget específico, enquanto o estado do aplicativo é usado para compartilhar o estado entre vários widgets.

Espero ter ajudado e bons estudos!

Obrigado, bom que sua resposta esclareceu mais ainda os conceitos de estados!