如何处理不需要的小部件构建?

如何处理不需要的小部件构建?

由于各种原因,有时build再次调用我的小部件的方法。

我知道这是因为父母更新了。但这会产生意想不到的效果。造成问题的一个典型情况是使用FutureBuilder这样:

@overrideWidget build(BuildContext context) {
  return FutureBuilder(
    future: httpCall(),
    builder: (context, snapshot) {
      // create some layout here
    },
  );}

在本例中,如果建房方法将再次调用,它将触发另一个http请求。这是不想要的。

考虑到这一点,如何处理不需要的构建?有什么办法阻止构建调用吗?


慕田峪4524236
浏览 559回答 2
2回答

杨魅力

我遇到的一个问题StreamBuilder当键盘出现时,屏幕会发生变化,因此必须重建路由。所以StreamBuilder重建了一个新的StreamBuilder创建并订阅stream..当StreamBuilder订阅stream, snapshot.connectionState成ConnectionState.waiting这使得我的代码返回CircularProgressIndicator,然后snapshot.connectionState当数据出现变化时,我的代码将返回不同的小部件,这会使屏幕闪烁着不同的内容。
打开App,查看更多内容
随时随地看视频慕课网APP