我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
。导航时它会运行多次。