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

Riverpod v2无riverpod_generator下AutoDisposeFamilyAsyncNotifierProvider类型错误求助

Riverpod v2 未使用generator时FamilyProvider类型不匹配错误解决

错误信息

_TypeError (type '(() => Y0, {required String? name, required Iterable<ProviderOrFamily>? dependencies, required Iterable<ProviderOrFamily>? allTransitiveDependencies, required (() => String)? debugGetCreateSourceHash, Family<Object?>? from, Object? argument}) => AutoDisposeFamilyAsyncNotifierProviderImpl<ProjectDetailController, ProjectDetailModel, int>' is not a subtype of type '(() => ProjectDetailController, {required Set<ProviderOrFamily>? allTransitiveDependencies, Object? argument, required (() => String)? debugGetCreateSourceHash, required Iterable<ProviderOrFamily>? dependencies, Family<Object?> from, required String? name}) => AutoDisposeFamilyAsyncNotifierProviderImpl<ProjectDetailController, ProjectDetailModel, int>' of 'function result')

问题原因及解决方法

  • 依赖版本不统一:检查pubspec.yaml中所有Riverpod相关依赖(如flutter_riverpod、riverpod)的版本是否一致。不同版本的内部API参数类型有变化,比如allTransitiveDependencies的类型从Iterable改为Set,from参数的可空性也做了调整。把所有Riverpod相关包统一到同一稳定版本,然后执行flutter pub get更新依赖。

  • 手动实现Provider时参数签名不匹配:因为没使用riverpod_generator,手动构建AutoDisposeFamilyAsyncNotifierProviderImpl时,参数签名和框架要求的不一致:

    • allTransitiveDependencies需要传入Set<ProviderOrFamily>?类型,如果你之前传的是Iterable,可以通过.toSet()转换后传入;
    • from参数是必填的非空类型Family<Object?>,不能传可空值,确保这个参数有合法的非空实例传入。

内容的提问来源于stack exchange,提问作者Masahiro Aoki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:12:48