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

Flutter中Provider<Products>未找到问题排查求助

ProviderNotFoundException 问题排查方案

核心错误定位及修复

1. 路由文件导入拼写错误

main.dart中导入商品概览页面时存在拼写错误:

// 错误写法
import './screens/porducts_overview_screen.dart';

修正为:

// 正确写法
import './screens/products_overview_screen.dart';

拼写错误会导致页面未正确纳入Provider的作用域,触发找不到Provider的异常。

2. Products类getter无限递归

products.dart的items getter中存在递归调用:

// 错误写法
List<Product> get items {
  return [...items];
}

修正为:

// 正确写法
List<Product> get items {
  return [..._items];
}

原代码返回items会触发无限递归,导致Provider初始化失败,子Widget无法获取Provider实例。

额外验证步骤

  • 执行热重启:添加Provider后热重载无法刷新Provider作用域,必须重启应用。
  • 确认Provider层级:当前main.dart中ChangeNotifierProvider包裹MaterialApp的层级正确,所有需要访问Provider的页面都在其作用域内。

内容的提问来源于stack exchange,提问作者kf-student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:54:58