找不到正确的提供者<>

Tab*_*san 5 state-management dart flutter

我有一个类发出 HTTP 获取请求和两个屏幕,第一个屏幕显示从 API 获取的标题,第二个屏幕显示也从 API 获取的帖子以及所有使用提供程序的帖子我所做的是在主类主页中:

ChangeNotifierProvider<NewsRequest>(
 child:News(title: "Bitcoin News",),
 builder: (_) => NewsRequest() ),
Run Code Online (Sandbox Code Playgroud)

在两个屏幕上,我做了最后的

 newsResponse = Provider.of<NewsRequest>(context);
Run Code Online (Sandbox Code Playgroud)

但出现这个错误

错误:在此描述小部件颤动上方找不到正确的提供者:颤动:要修复,请:颤动:颤动:* 确保提供者是此描述小部件颤动的祖先:* 向提供者提供类型颤动:* 向消费者提供类型flutter: * 为 Provider.of() 提供类型 flutter: * 始终使用包导入。例如:导入 'package:my_app/my_code.dart'; flutter: * 确保使用了
正确的上下文。

怎么解决????

Tab*_*san 3

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

 return ChangeNotifierProvider<NewsRequest>(
      builder: (_) => NewsRequest(),
          child: MaterialApp(.....)
Run Code Online (Sandbox Code Playgroud)