текущем дереве?
globalKey.currentContext != null?
попробовал. Пока не обнуляется оно😕
Попробуйте проверить mounted поле.
Чет не пашет. Или я что-то не так понял. Короч, суть такая: void main() => runApp(MaterialApp( home: Scaffold(body: Center(child: MyApp()))) ); final globalKey = GlobalKey(); class MyApp extends StatefulWidget { @override State<MyApp> createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { bool btn1 = false; bool btn2 = false; @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ ElevatedButton( onPressed: () => setState(()=>btn1 = !btn1), child: btn1? getMyWidget(context) : const Text("off 1"), ), ElevatedButton( onPressed: () => setState(()=>btn2 = !btn2), child: btn2? getMyWidget(context) : const Text("off 2"), ), ] ); } Widget getMyWidget(BuildContext context) { return switch(globalKey.currentContext != null && !globalKey.currentContext!.mounted) { false => const Text("None"), true => MyWidget(key: globalKey) }; } } class MyWidget extends StatelessWidget { const MyWidget({required super.key}); @override Widget build(BuildContext context) { return const Text("I'm here"); } }
сорян за портянку, если че😔
Обсуждают сегодня