Riverpod疑似Bug:覆盖依赖时watch阻止listen执行
Riverpod框架疑似Bug案例:ProviderScope覆盖后listen回调失效
当通过ProviderScope覆盖基础provider后,若代码中watch该基础provider,监听依赖它的provider的listen回调将不再执行;仅当注释掉watch语句时,listen才会正常触发。
相关Provider定义
final baseProvider = Provider<int>( (ref) => 0, ); final dependentProvider = Provider<String>( (ref) { final q = ref.watch(baseProvider); return '$q'; }, dependencies: [baseProvider], );
该问题仅在使用ProviderScope覆盖基础provider时出现,覆盖代码与消费组件逻辑可参考以下复现资源:
- 复现仓库:gazialankus/riverpod_query_play(stateprovider_instead_of_scope分支)
- 可通过DartPad在线复现该问题
内容的提问来源于stack exchange,提问作者Gazihan Alankus
相关产品推荐
相关产品推荐

