首页 > 解决方案 > initstate 在构建小部件之前未执行

问题描述

我正在尝试从 OMDb 获取 json 数据,但我的 initstate 函数没有执行我通过在侧 initsate 函数中使用 print 语句来解决它,但我不知道为什么它不显示movies.statuscode

 void main() {
  print("runned");
  runApp(MovieApp());
}

class MovieApp extends StatefulWidget {
  const MovieApp({Key? key}) : super(key: key);

  @override
  _MovieAppState createState() => _MovieAppState();
}

class _MovieAppState extends State<MovieApp> {
  @override
  void initstate() {
    super.initState();
    print("pass");
    loaddata();
  }

  loaddata() async {
    String url = "https://www.omdbapi.com/?s=Batman&page=2&apikey=2c8219b0";
final movies = await http.get(Uri.parse(url));
    print(movies.statusCode);
  }

标签: jsonflutterdart

解决方案


你有一个错字。initstate不等于initState。尝试这个:

void initState() {
    super.initState();
    print("pass");
    loaddata();
  }

顺便说一句loaddata,也应该按照惯例loadData


推荐阅读