我正在创建一个类似社交媒体的应用程序,当用户点击帖子时,它会重定向到一个评论页面,在评论页面中,数据来自一个单独的API,所以当使用Navigator.Pop(上下文)返回时,主页中的数据不会更新,如果按下类似按钮,它不会反映在UI中,但会在API中更新,我用setstate Package 了Navigator,但它没有反射,
57hvy0tb1#
在导航器上使用此按钮,按Navigator.push(context).then((value)=>setState((){});,当弹出屏幕时,将运行setState
Navigator.push(context).then((value)=>setState((){});
nnt7mjpx2#
使用此语句转到第二页,以便功能将等待第二个屏幕关闭
bool result = await Navigator.push(context); if(result){setState((){});}
当你关闭第二个屏幕时,使用以下句子Navigator.pop(context, true);所以当你的评论被成功发布后,如果结果布尔值为真,你将返回到屏幕1并完成函数,否则什么也不做。
Navigator.pop(context, true);
s3fp2yjn3#
您需要为Navigator调用await,然后调用setState,如下所示:
Navigator
await
setState
await Navigator.pushNamed(context,"next screen name"); setState(() {});
注:只要不是replace 1,如何转到下一页没有任何区别。
replace
3条答案
按热度按时间57hvy0tb1#
在导航器上使用此按钮,按
Navigator.push(context).then((value)=>setState((){});
,当弹出屏幕时,将运行setStatennt7mjpx2#
使用此语句转到第二页,以便功能将等待第二个屏幕关闭
当你关闭第二个屏幕时,使用以下句子
Navigator.pop(context, true);
所以当你的评论被成功发布后,如果结果布尔值为真,你将返回到屏幕1并完成函数,否则什么也不做。
s3fp2yjn3#
您需要为
Navigator
调用await
,然后调用setState
,如下所示:注:只要不是
replace
1,如何转到下一页没有任何区别。