Flutter踩坑日記 Tab導航欄保持子頁面狀態

2022-03-25 05:15:25 字數 1234 閱讀 2899

最近應邀票圈小夥伴躺坑flutter,專案初步雛形完結。以原來的工具鏈版本為基礎做了flutter版本,不過後面還是需要優化下專案接入redux,以及擴充套件一些native方法。

這裡記錄一下在開發過程中碰到的一些小問題。

首先是搭建tab的時候,切換tab子頁面,上乙個頁面會被釋放,導致切換回來時會重新觸發initstate等生命週期(網路請求是放在這個裡面的)

問了一下前同事:「需要使用bool get wantkeepalive => true;」,於是網上搜了一下這個玩意兒,以及其他解決方案。

首先說說使用wantkeepalive的方案:這是flutter官方提供並推薦的,源自於automatickeepaliveclientmixin用於自定義儲存狀態。

先看看實現tab的**(有幾種實現tab的方式,後續部落格更新):

class _tabpagestate extends state with singletickerproviderstatemixin 

//當整個頁面dispose時,記得把控制器也dispose掉,釋放記憶體

@override

void dispose()

@override

widget build(buildcontext context)

//animating page

_pagecontroller.jumptopage(page);

} void onpagechanged(int page) );

}}

根據官網的要求:

pageview的children需要繼承自statefulwidget

pageview的children的state需要繼承自automatickeepaliveclientmixin

具體實現如下:

import 'package:flutter/material.dart';

//建構函式

@override

} with automatickeepaliveclientmixin

}

Flutter 列表踩坑2

今天遇到乙個列表item 的model 更新了以後,但是list 的model沒更新的問題,問題解決了,來發下心得 最後找到原因,原來是頁面重新整理了,以後得注意以下問題 1 我已經使用了pagecontroler,但是 pagecontroler忘記賦值了 pagecontroller pagec...

React Native 踩坑日記

問題 於示圖 findpage title 發現 解決辦法 react native 中無論是 tabbarios.item 還是 tabbar.item 必須有且只有乙個元件,說白了就是需要有子元件的存在,並且只存在乙個子元件。findpage title 發現 onpress selected ...

arcgis 踩坑日記

專案組決定用arcgis做地圖服務的時候我還是有些小期待的,因為以前沒弄過,我對所有不熟悉的技能都感興趣,於是有了一條踩坑之路,加班踩坑,小問題踩兩天坑,等等.先談一下自己的體會吧,arcgis for js 我真的沒覺得多難,上手就用,不會就查,官網例項太全了,我覺得坑多的地方是在arcgis m...