Flutter 颤振图像资源和流值仅在用户交互后渲染

Flutter 颤振图像资源和流值仅在用户交互后渲染,flutter,dart,bloc,Flutter,Dart,Bloc,第一次打开应用程序时,图像和流值在我点击屏幕或开始滚动之前不会呈现。在流生成器中返回小部件之前,请确保snapshot.data打印出正确的值 Row( mainAxisSize: MainAxisSize.min, children: [ Image.asset( 'assets/profile_image.png', height: 36.0, width: 36.0, ), SizedB

第一次打开应用程序时,图像和流值在我点击屏幕或开始滚动之前不会呈现。在流生成器中返回小部件之前,请确保snapshot.data打印出正确的值

  Row(
    mainAxisSize: MainAxisSize.min,
    children: [
      Image.asset(
        'assets/profile_image.png',
        height: 36.0,
        width: 36.0,
      ),
      SizedBox(width: 10.0),
      StreamBuilder<String>(
        stream: context.read<UserBloc>().balanceStream,
        builder: (context, snapshot) {
          print('ConnectionState is ${snapshot.connectionState}');
          switch (snapshot.connectionState) {
            case ConnectionState.active:
              print('Value is ${snapshot.data}');
              return NonScalingTextView(
                "\$ ${snapshot.data}",
                style: TitleTiny,
              );
              break;
            default:
              return Container();
          }
        },
      ),
    ],
  );
行(
mainAxisSize:mainAxisSize.min,
儿童:[
影像资产(
“assets/profile_image.png”,
身高:36.0,
宽度:36.0,
),
尺寸箱(宽度:10.0),
StreamBuilder(
stream:context.read().balanceStream,
生成器:(上下文,快照){
打印('ConnectionState为${snapshot.ConnectionState}');
交换机(快照.连接状态){
案例连接状态.active:
print('值为${snapshot.data}');
返回非缩放文本视图(
“\${snapshot.data}”,
风格:标题,
);
打破
违约:
返回容器();
}
},
),
],
);

在第一次启动应用程序后,执行一些用户交互或热重新加载或热重新启动应用程序,这些小部件会按预期呈现。

我在Material应用程序上有一个身份验证区。在里面,我有一个用户群创建成功的身份验证。在这种情况下,我有上述问题。问题只发生在基于用户组发出的状态呈现的小部件上。因此,我没有在状态更改时返回这些小部件,而是将侦听器更改为在状态更改时导航到这些小部件。现在,为了从这个导航路线调用我的用户群,我必须将用户群移动到Material应用程序的顶部。这样做解决了我的问题

这解决了它,但我仍然不知道是什么导致了以前的架构失败。如果有人能给我解释,那就太好了