Разница в реализации флаттера BlocProvider - PullRequest
0 голосов
/ 24 марта 2020

В чем разница, предоставляя параметру blo c объект и класс, например:

BlocProvider<AuthBloc>(

bloc: AuthBloc(),

child: Child()

);

от:

_authBloc = BlocProvider.of<AuthBloc>(context);


BlocProvider<AuthBloc>(

bloc: _authBloc,

child: Child()

);

Спасибо :), надеюсь, вы может помочь многим людям с этим сомнением.

1 Ответ

0 голосов
/ 24 марта 2020

Случай 1:

BlocProvider (

bloc: AuthBloc(),

child: Child()

);

В этом случае вы создаете новый экземпляр AuthBlo c и передаете его в BlocProvider.

Случай 2:

_authBloc = BlocProvider.of<AuthBloc>(context);


BlocProvider<AuthBloc>(

bloc: _authBloc,

child: Child()

);

В этом случае вы не создаете новый экземпляр, а извлекаете ранее созданный экземпляр из вышеприведенного дерева, используя BlocProvider.of<AuthBloc>(context);

...