扑为什么要开两次?

时间:2018-11-13 11:14:28

标签: dart flutter

我有这个简单的代码。 方法getPrint返回“ a”,“ b”,“ c”两次。 共返回六个String。 我在做错什么吗?

  List<String> li;

  Future<List<String>> getList() async {
    return ['a', 'b', 'c'];
  }

  void getPrint() {
    for (String l in li) {
      print(l);
    }
  }

  void _init() async {
    li = await getList();
    getPrint();
  }

  @override
    void initState() {
      _init();
      super.initState();
    }

1 个答案:

答案 0 :(得分:0)

您共享的代码不应导致任何内容运行两次。但是,如您在评论中提到的那样调用 setState() 将导致整个屏幕再次重建,从而导致 initState() 中的方法再次运行。