【发布时间】:2021-08-21 10:15:31
【问题描述】:
我正在学习颤振并尝试将 API 与其集成,但我遇到了某种错误,任何人都可以在这里查看并告诉我做错了什么。
class _HomePageState extends State<HomePage> {
Future<News> _newsModel; //getting error here 1*
@override
Future<void> initState() async {
super.initState();
var _newsModel = await API_Manager().getNews();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("News App"),
),
body: Container(
child: FutureBuilder(
future: _newsModel,
builder: (context, snapshot) {
if (snapshot.hasData) {
return (ListView.builder(itemBuilder: (context, index) {
return Container(
height: 100,
color: Colors.red,
);
}));
} else {
return CircularProgressIndicator();
}
},
),
),
);
}
}
1*) 编译器给出此错误“必须初始化不可为空的实例字段 '_newsModel'。 尝试添加初始化表达式,或初始化它的生成构造函数,或将其标记为“迟到”。
我也尝试过给迟到的错误来自编辑器,但当应用程序运行时它再次出现。我正在尝试从 API 获取一些消息并在 UI 中显示它们
【问题讨论】: