無法在發布或組態檔中運行顫振專案。在除錯中,它正常運行沒有任何問題,但在其他情況下,我在 Chrome 中遇到這些錯誤:
zone.dart:1413
Uncaught TypeError: Cannot read properties of null (reading 'isAsync')
at _GetItImplementation.$get$1$3$instanceName$param1$param2 (:61215/main.dart.js:164051)
at _GetItImplementation.call$1$0 (:61215/main.dart.js:164063)
at _GetItImplementation.call$0 (:61215/main.dart.js:164066)
at :61215/main.dart.js:45288
at _wrapJsFunctionForAsync_closure.$protected (:61215/main.dart.js:27970)
at _wrapJsFunctionForAsync_closure.call$2 (:61215/main.dart.js:69886)
at _awaitOnObject_closure.call$1 (:61215/main.dart.js:69874)
at _RootZone.runUnary$2$2 (:61215/main.dart.js:72668)
at _Future__propagateToListeners_handleValueCallback.call$0 (:61215/main.dart.js:70794)
at Object._Future__propagateToListeners (:61215/main.dart.js:28268)
我的想法是它與get_it有關,但找不到任何相關問題...
也許有人面臨這些問題并有解決方案?謝謝。
uj5u.com熱心網友回復:
出于某種原因,在使用 get_it 可注入 bloc(作為單例)和 bloc 在GetIt方法呼叫(下面的代碼片段)中宣告為簡單類時,在發布/組態檔 web 構建中的某些原因,型別 T為Object,而不是您預期的 type。GetIt 試圖在注冊型別的范圍內找到這個物件型別,但(多么出乎意料!)沒有找到它并回傳 null。Null 不符合預期并導致錯誤。
該問題僅由單例/lazySingleton 引起。可注射的一切似乎都很好。
@override
T call<T extends Object>({
String? instanceName,
dynamic param1,
dynamic param2,
}) {
return get<T>(instanceName: instanceName, param1: param1, param2: param2);
}
所以對我來說,解決方案是從:
@singleton
class ExampleCubit extends Cubit<ExampleState> {}
到:
abstract class ExampleCubit extends Cubit<ExampleState> {}
@Singleton(as: ExampleCubit)
class ExampleCubitImpl extends ExampleCubit {}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/346909.html
上一篇:具有縮放功能的一致CSS邊框寬度
