1
resposta

Injetando em um contexto com o BlocProvider.value

  void _showChangeName(BuildContext blocContext) {
    Navigator.of(blocContext).push(
      MaterialPageRoute(
        builder: (context) => BlocProvider.value(
          value: BlocProvider.of<NameCubit>(blocContext),
          child: NameContainer(),
        ),
      ),
    );
  }

No trecho acima, para fixar melhor o que ocorre, eu acrescentei o seguinte comentário:

    //O MaterialPageRoute passa um contexto padrão (pois é um builder), então é 
    //preciso reinjetar o cubit na mudança de rota. Para isso, usa-se o 
    //BlocProvider.value junto com o BlocProvider.of para buscar o Cubit
    //necessário no contexto que já tem a injeção, o blocContext, e injeta no
    //contexto para o container que está sendo chamado.

Eu gostaria de saber se está certo esse entendimento.

1 resposta

Oi Vagner, está perfeito! Assimilou corretamente :)