flutter踩坑日記之全局狀態管理


flutter的全局狀態管理,這篇文章寫的足夠詳細:

flutter全局狀態管理

其實關鍵還是在於如何存儲數據,以及怎樣去拿到存儲的數據;

由於用慣了vuex,所以我將以store來命名我們的Provider

在Store中創建store.dart

結構如下:

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';

// 這里的 Model 實際上就是我們的狀態,它不僅儲存了我們的數據模型,而且還包含了更改數據的方法,並暴露出它想要暴露出的數據。

// 這里使用了 mixin 混入了ChangeNotifier,這個類能夠幫助我們自動管理所有聽眾。

class GlobalStateManagementModel with ChangeNotifier {

 // 定義初始變量
 String uuid = '';
 // 使用get value => variable 這種方式,可以在任意Widget中直接通過`Store.value`的方式來獲取值
 String get uuidValue => uuid;
 List<dynamic> userInfo = [];
  // 我們也可以通過向自定義函數傳遞參數,來改變store中變量的值,dispatch到定義函數,再由自定義函數commit到state
  void userUuid(val) {
    uuid = val;
    // 當調用 notifyListeners() 時,它會通知所有聽眾進行刷新。
    notifyListeners();
  }

  void userInfos(val) {
    userInfo = val;
    notifyListeners();
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM