You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:21:36