簡體   English   中英

Flutter - 提供商 - 在沒有 MultiProvider 小部件的情況下在主 function 中提供服務

[英]Flutter - Provider - provide services in main function without MultiProvider widget

在我的應用程序根小部件中,我使用Provider庫 - MultiProvider小部件提供了多項服務。

我正在使用帶有flutter_native_splash功能的removeAfter ,所以我需要在main function 中而不是在根 App 小部件中初始化一些服務。 這意味着我需要找到一種方法來初始化服務並在沒有MultiProvider小部件的情況下“提供”它們,然后使用Consumer小部件在樹中使用它們。

有什么辦法可以做到這一點?

“注入”服務是什么意思? Flutter 中沒有依賴注入。如果您有現有的ChangeNotifier實例,則可以使用value構造函數。 請參見重用現有的 object 實例

但是,您不應該在視圖模型中真正擁有業務邏輯,imo。 您應該擁有獨立的服務,並使用像GetIt這樣的庫來管理它們的實例生命周期。

你可以創建一個Signleton class 並在應用程序中的任何地方使用它,就像這樣,

Class Example{
 Example._();
 static final Example instance = Example._();
 Future<void> init () async {
 //initialise whatever you want
 }
}

像這樣在你的 main 中使用它,

 void main()async{
  await Example.instance.init();
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM