首页 > 解决方案 > 这条路线有什么问题(“未来”错误)?

问题描述

我是路由新手,收到错误“参数类型‘Future’不能分配给参数类型‘void Function()’。这有什么问题?

GestureDetector(
  onTap: Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => ResultsPage();
    ),
  ),
),

ETA:它现在像这样工作,这很棒:

GestureDetector(
            onTap: () {
              Navigator.push(context,
                  MaterialPageRoute(builder: (context) => ResultsPage()));
            },
            child: Container()

不过,我仍然对为什么我不能这样做感到困惑

GestureDetector(
            onTap: () {
              Navigator.push(context,
                  MaterialPageRoute(builder: (context) { 
                  return ResultsPage()));}
            },
            child: Container()

标签: functionflutterdartroutesfuture

解决方案


onTap接受函数,函数需要输入参数。

GestureDetector(
  onTap: () => Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => ResultsPage(),
    ),
  ),
),

推荐阅读