#flutter #dart #dart-null-safety #null-safety
#трепетать #дротик #дротик-нулевая безопасность #нулевая безопасность
Вопрос:
Я перенес все свои пакеты проекта в нулевую безопасность.
Из-за некоторых мыслей, которые я должен обрабатывать на Android (Kotlin), расширяя стороннюю библиотеку. После этого я получаю следующую ошибку:
E/flutter (14210): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Looking up a deactivated widget's ancestor is unsafe. E/flutter (14210): At this point the state of the widget's element tree is no longer stable. E/flutter (14210): To safely refer to a widget's ancestor in its dispose() method, save a reference to the ancestor by calling dependOnInheritedWidgetOfExactType() in the widget's didChangeDependencies() method. E/flutter (14210): #0 Element._debugCheckStateIsActiveForAncestorLookup.lt;anonymous closuregt; package:flutter/…/widgets/framework.dart:3944 E/flutter (14210): #1 Element._debugCheckStateIsActiveForAncestorLookup package:flutter/…/widgets/framework.dart:3958 E/flutter (14210): #2 Element.findAncestorStateOfType package:flutter/…/widgets/framework.dart:4005 E/flutter (14210): #3 Navigator.of package:flutter/…/widgets/navigator.dart:2727 E/flutter (14210): #4 _PinCodeScreenState.build.lt;anonymous closuregt;.lt;anonymous closuregt;.lt;anonymous closuregt;.lt;anonymous closuregt; package:vista/…/pin_code/pin_code.dart:274 E/flutter (14210): #5 _rootRunUnary (dart:async/zone.dart:1362:47) E/flutter (14210): #6 _CustomZone.runUnary (dart:async/zone.dart:1265:19) E/flutter (14210): lt;asynchronous suspensiongt;
и у меня есть следующий код:
Navigator.push(context, MaterialPageRoute(builder: (context) =gt; MyScreen(response: _validatioResponse)));
Приведенный выше код вызывается RawMaterialButton
виджетом, onPressed
Ответ №1:
попробуй вот так
SchedulerBinding.instance.addPostFrameCallback((_) { Navigator.pushNamedAndRemoveUntil( context, '/', (_) =gt; false); });