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: * 确保使用了
正确的上下文。
怎么解决????
好的,我通过将 ChangeNotifierProvider 包装到材质小部件而不是主页中来解决这个问题,以便整个应用程序可以访问提供程序
return ChangeNotifierProvider<NewsRequest>(
builder: (_) => NewsRequest(),
child: MaterialApp(.....)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3455 次 |
| 最近记录: |