亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Flutter使用SingleTickerProviderStateMixin報錯解決

 更新時間:2023年08月09日 10:08:05   作者:似水流年  
這篇文章主要為大家介紹了Flutter使用SingleTickerProviderStateMixin報錯解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

設(shè)置TabController

最近在學習開發(fā)Flutter應(yīng)用項目,在創(chuàng)建tabbar和tabview后,進行網(wǎng)絡(luò)請求后顯示頂部tab標簽,設(shè)置TabController,并使class類實現(xiàn)SingleTickerProviderStateMixin,代碼如下

class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin{
  TabController _tabController;
  TravelTabModel travelTabModel;
  List<TravelTab> tabs = [];
  @override
  void initState() {
    _tabController = TabController(length: 0, vsync: this);
    TravelTabDao.fetch().then((TravelTabModel model){
      print(model);
      _tabController = TabController(length: model.tabs.length, vsync: this);
      setState(() {
       tabs = model.tabs;
       travelTabModel = model;
      });
    }).catchError((e){
      print(e);
    });
    super.initState();
  }

報錯

運行代碼后模擬器沒有顯示tab標簽文字,且報如下錯誤

flutter:  is a SingleTickerProviderStateMixin but multiple tickers were created.
A SingleTickerProviderStateMixin can only be used as a TickerProvider once.
If a State is used for multiple AnimationController objects, or if it is passed to other objects and those objects might use it more than one time in total, then instead of mixing in a SingleTickerProviderStateMixin, use a regular TickerProviderStateMixin.

分析解決

如上報錯,原因是多個地方調(diào)用setState請求重繪,但是state使用的是SingleTickerProviderStateMixin ,將其改成TickerProviderStateMixin即可。

將上述代碼進行修改如下:

class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin

修改為:

class _TravelPageState extends State<TravelPage> with TickerProviderStateMixin

修改完成后,重新運行項目即可。

以上就是Flutter使用SingleTickerProviderStateMixin報錯解決的詳細內(nèi)容,更多關(guān)于Flutter SingleTickerProviderStateMixin的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論