【发布时间】:2019-11-04 05:31:08
【问题描述】:
我的FutureBuilder/StreamBuilder 在使用push 导航时调用了不必要的时间。不改navigator.push可以停吗?
Stream<List<Categorie>> getFromBloc;
@override
void didChangeDependencies() {
getFromBloc = getData();
super.didChangeDependencies();
}
在state 内部,build 方法外部
Stream<List<Categorie>> getData()=>
_categoryBloc.category;
构建方法
StreamBuilder(
stream: getFromBloc,//_categoryBloc.category,
builder: (_, AsyncSnapshot<List<Categorie>> snapshot) {
if (snapshot.data == null) {
...
} else {
...
GestureDetector(
child:...,
onTap:(){
Navigator.of(context).pushNamed('/subCategory',arguments: Arguments(postModel: post));
}
}
})
我在streamBuilder 中添加了调试点。导航时它会运行多次。
【问题讨论】:
标签: flutter dart stream-builder