flutter
new_abc
这个作者很懒,什么都没留下…
展开
-
BlocProvider add数据流程
这里主要是调用了_stateController的add方法,_stateController的listen是在BlocBuilder中listen的。handleEvent中调用前面_Emitter的add方法,然后调用handler处理event,handler就是我们bloc中的处理方法。在onEmit首先判断state跟上次发送的是不是一样的,通过重新state的operator ==我们可以改变他的判断条件。这里的处理方法里面调用了emit函数,具体就是_Emitter的call方法。原创 2023-01-03 15:39:32 · 837 阅读 · 0 评论 -
Bloc创建流程
这里会得到一个_MapStream,它的conver就是我们前面传的匿名函数,然后调用stream的listen方法。然后吧这个subscription添加到_subscriptions。这里创建了一个_eventController,Bloc又继承了BlocBase。这里的_eventTransformer对应Bloc.transformer,Bloc的大概结构我们了解了,我们看看TestBloc里面的on方法。这里创建了一个_stateController,我们看看前面TestBloc的创建流程。原创 2022-12-14 18:22:53 · 320 阅读 · 0 评论 -
BlocBuilder初始化流程
我们先看看_BlocBuilderBaseState的initState方法,这里如果当前bloc为空,则调用context的read方法,我们构建BlocBuilder时并没有传bloc 所以这里是空,这里就到了ReadContext的read方法。这里的_delegateState是_CreateInheritedProviderState,我们看看其获取value的方法。调用它的create方法就是我们在BlocProvider传的create方法。我们调用到provider的of方法。原创 2022-12-12 14:50:34 · 574 阅读 · 0 评论 -
BlocProvider初始化流程
继承了InheritedElement, InheritedElement继承到ProxyElement,ProxyElement又继承了ComponentElement,ComponentElement继承了Element,具体的暂时不看了后面有空再了解下Element Widget相关的关系。value为null 所以这里走的是false,创建了一个InheritedProvider,并把我们前面的create Bloc传了进去。这里创建了一个_InheritedProviderScope。原创 2022-12-12 13:29:31 · 489 阅读 · 0 评论 -
flutter bloc 实例
flutter bloc原创 2022-12-01 15:54:09 · 548 阅读 · 1 评论 -
flutter stream记录
flutter stream原创 2022-12-01 11:37:28 · 297 阅读 · 0 评论