颤振:按钮按下动作功能不断调用

ser*_*anc 5 dart flutter

当我向按钮添加 onPress 函数时,应用程序启动时会调用 loadMore 函数。并且它不断地创建页码。我找不到问题所在。

Widget header(){
    return new Container(      
      color: Colors.blue[900],
      height: 40.0,
      child: new Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          new IconButton(
            icon: new Icon(
              Icons.arrow_back,
            ),
            onPressed: loadMore(page: page = page + 1)
          ),
        ],
      ),
    );
  }
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 10

你有一个函数调用,但你应该传递一个函数引用

onPressed: () => loadMore(page: page = page + 1)
Run Code Online (Sandbox Code Playgroud)

如果loadMore没有参数(实际上当它具有调用者用来调用方法的相同参数时),您可以使用

onPressed: loadMore
Run Code Online (Sandbox Code Playgroud)

在不创建闭包的情况下传递函数引用。

用你的代码

onPressed: loadMore(page: page = page + 1)
Run Code Online (Sandbox Code Playgroud)

loadMore(...) 每次 Flutter 运行时都会被调用 build()