當(dāng)我們在Flutter開發(fā)中,使用到Tabbar 切換頁面時,我們會發(fā)現(xiàn)一個現(xiàn)象,
就是我從 tab1 => tab2 = > tab3 ,控制臺打印的日志,會發(fā)現(xiàn) 分別走了 tab1頁面 tab2頁面 tab3 頁面的 初始化狀態(tài)函數(shù) initState(),這是正常的操作;
但是如果我再從 tab 3 => tab2 => tab1,這時我們發(fā)現(xiàn), 同樣的也走了 tab2,1的initState() 函數(shù),也就是說** initState()** 會被重復(fù)調(diào)用, 這時,我們就需要切換tab時記錄tab 頁面的狀態(tài),避免initState()函數(shù)被重復(fù)調(diào)用。
解決方法:其實很簡單,我們只需要在tab 頁面
添加AutomaticKeepAliveClientMixin,并實現(xiàn)對應(yīng)的方法bool get wantKeepAlive => true;,就可啦!!