Blocbuilder不会在状态改变时进行第二次重建
创始人
2024-12-22 19:30:17
0

出现这个问题可能是由于以下原因导致的:

1.在bloc/bloc.dart中使用了相同的状态,并在同一流程中使用了多个bloc。这会导致bloc之间的交错,因此应该避免这样做。

2.某些状态在BlocBuilder之间共享并在状态更新后不会被重建。这可以通过手动更改state的hashCode来解决。可以在类中添加以下内容:

class MyState extends Equatable { final int counter;

const MyState(this.counter);

@override List get props => [counter];

//override hashcode @override int get hashCode => counter.hashCode; }

这将确保在状态更新后重新构建BlocBuilder。

3.在父组件中传递的状态不是BlocProvider包装器的子组件。在这种情况下,BlocBuilder不会接收到有关状态更新的信息。在BlocProvider包装器的下面指定子组件将解决此问题。

解决方法示例:

class MyHomePage extends StatelessWidget { const MyHomePage({Key key}) : super(key: key);

@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('My Counter')), body: BlocProvider( create: (context) => CounterBloc(), child: MyChild(), ), ); } }

class MyChild extends StatelessWidget { const MyChild({Key key}) : super(key: key);

@override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { return Center( child: Text('$state'), ); }, ); } }

相关内容

热门资讯

第6分钟了解(德州ai)外挂智... 第6分钟了解(德州ai)外挂智能ai辅助代打(透视)攻略教程(2023已更新)(哔哩哔哩);相信小伙...
第2分钟了解(tritonpo... 第2分钟了解(tritonpoker)外挂辅助插件安装代打(透视)黑科技教程(2024已更新)(哔哩...
第9分钟了解(WPK技巧)黑科... 第9分钟了解(WPK技巧)黑科技透明挂辅助软件(透视)教你攻略(2024已更新)(哔哩哔哩)是一款可...
七分钟了解(aapoker德州... 七分钟了解(aapoker德州俱乐部)软件透明挂辅助科技(透视)线上教程(2022已更新)(哔哩哔哩...
1分钟了解(Wepoke开发)... 1分钟了解(Wepoke开发)黑科技透明挂辅助黑科技(透视)扑克教程(2021已更新)(哔哩哔哩);...
第六分钟了解(wpk德州ai机... 第六分钟了解(wpk德州ai机器人)外挂辅助插件安装科技(透视)规律教程(2024已更新)(哔哩哔哩...
第1分钟了解(Wepoke技术... 第1分钟了解(Wepoke技术)外挂透明挂辅助下载(透视)实用技巧(2023已更新)(哔哩哔哩);1...
第十分钟了解(新版Wepoke... 第十分钟了解(新版Wepoke)软件透明挂辅助app(透视)曝光教程(2020已更新)(哔哩哔哩);...
第3分钟了解(wepOke)外... 第3分钟了解(wepOke)外挂辅助插件安装app(透视)第三方教程(2021已更新)(哔哩哔哩),...
八分钟了解(德扑之星设置)外挂... 八分钟了解(德扑之星设置)外挂辅助插件安装黑科技(透视)AI教程(2021已更新)(哔哩哔哩);人气...