找不到正确的提供者<>
Posted
技术标签:
【中文标题】找不到正确的提供者<>【英文标题】:Could not find the correct Provider<> 【发布时间】:2019-12-05 18:11:57 【问题描述】:我有一个类发出 HTTP 获取请求和两个屏幕第一个显示从 API 获取的标题第二个屏幕显示也从 API 获取的帖子并且所有使用提供程序我所做的是在主班级主页:
ChangeNotifierProvider<NewsRequest>(
child:News(title: "Bitcoin News",),
builder: (_) => NewsRequest() ),
在两个屏幕中,我做了最后一个
newsResponse = Provider.of<NewsRequest>(context);
但是出现了这个错误
错误:在此描述上方找不到正确的提供程序 小部件颤动:颤动:要修复,请:颤动:颤动:*确保 提供者是这个描述小部件颤动的祖先:* 向 Provider Flutter 提供类型: * 为消费者颤振提供类型: * 向 Provider.of() 颤振提供类型: * 始终使用包导入。例如:进口 '包:my_app/my_code.dart';颤振:* 确保 正在使用正确的上下文`。
怎么解决????
【问题讨论】:
错误信息已经告诉你出了什么问题,你应该怎么做。你不明白什么? 这是我第一次使用提供者,所以我不知道错误消息是什么意思.. 我该怎么办? 【参考方案1】:好的,我通过将 ChangeNotifierProvider 包装到一个材料小部件而不是主页来解决这个问题,这样整个应用程序就可以访问该提供程序
return ChangeNotifierProvider<NewsRequest>(
builder: (_) => NewsRequest(),
child: MaterialApp(.....)
【讨论】:
以上是关于找不到正确的提供者<>的主要内容,如果未能解决你的问题,请参考以下文章
ProviderNotFoundException(错误:在此主页小部件上方找不到正确的 Provider<EntryProvider>