星期日

flutter出现的奇妙bug,既不弹错误也不触发函数,直接跳回主页面

在一次的开发中,我使用push和pop来进行页面跳转,一开始安然无恙,但后来由于项目格局逐渐庞大,某些代码需要移动到其它地方才能让项目代码更加明了:

是这样的:
这个多tab中外层是一个stateful而四个内层也分别是stateful,而跳转代码要从外层中搬到了内层中。
结果搬动后发生了意想不到的错误。
点击右上角的加号跳转到另一个页面后再按返回时,竟然直接跳到主页面去了。不报错,不跳到返回键的函数中,这个问题我苦恼了挺久的,在走路回家时就想会不会是context的问题呢?

其实我对context的理解也不是很深,但既然跳转时要利用到它,而我们在更换代码位置时,虽然没有改到代码,但事实上是context受到了改变,而在跳转到第二个页面时,第一个页面可能遭到刷新,而导致所有的子satateful的tab遭到删除,而导致所使用的context没了还是什么的,想来想去果然如此,一修改果然就好了。
果然有时候当场修不好的bug要放松下大脑重新思考才行啊。

没有评论:

发表评论

どうやってwidgetにイベントを入れます?

どうやってwidgetにイベントを入れますか 以下のコードの通りすればいいです InkWell(        onTap: () {            //イベント         },        child: //貴方のwidget   ); 他のtoolでもあります...