【问题标题】: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';颤振:* 确保
正在使用正确的上下文`。

怎么解决????

【问题讨论】:

  • 错误信息已经告诉你出了什么问题,你应该怎么做。你不明白什么?
  • 这是我第一次使用提供者,所以我不知道错误消息是什么意思.. 我该怎么办?

标签: flutter dart state-management


【解决方案1】:

好的,我通过将 ChangeNotifierProvider 包装到一个材料小部件而不是主页来解决这个问题,这样整个应用程序就可以访问该提供程序

 return ChangeNotifierProvider<NewsRequest>(
      builder: (_) => NewsRequest(),
          child: MaterialApp(.....)

【讨论】:

    猜你喜欢
    • 2021-01-06
    • 2019-12-23
    • 2021-02-19
    • 2021-06-09
    • 2020-06-04
    • 2021-04-04
    • 2021-07-24
    相关资源
    最近更新 更多