1
resposta

Arquitetura utilizada no exemplo

Olá, quero só esclarecer uma coisa. Quando usamos o Provider, no build da classe, a gente faz um return no MultiProvider, passando uma lista de ChangeNotifierProvider, criando os estados com o create. Na abordagem dessa aula, eu nao crio o estado no main e sim na primeira pagina que irá acessar o estado? Nesse caso, eu preciso implementar essa classe Context/Container ou existe uma forma de iniciar tudo no runApp?

1 resposta

Olá, Thiago!

Na abordagem apresentada na aula, você está correto. Ao utilizar o Provider, é possível criar o estado na primeira página que irá acessá-lo, sem a necessidade de criar no main.

Para iniciar tudo no runApp, você pode utilizar o MaterialApp como widget raiz e fornecer o Provider no atributo builder do MaterialApp. Dessa forma, o Provider será disponibilizado para todas as páginas da sua aplicação.

Aqui está um exemplo de como você pode fazer isso:

void main() {
  runApp(
    MaterialApp(
      home: MultiProvider(
        providers: [
          ChangeNotifierProvider(create: (_) => SeuEstado()),
        ],
        child: SuaPrimeiraPagina(),
      ),
    ),
  );
}

Dessa forma, o estado será criado e disponibilizado para a SuaPrimeiraPagina e todas as outras páginas da sua aplicação.

Espero ter ajudado e bons estudos!