This widget has been unmounted, so the State no longer has a context (and should be considered defunct).
context가 언마운트가 되었는데, context를 사용하는 Dialog를 핸들링 했을때 위와 같은 오류가 발생하였음.
main.dart에 GlobalKey Navigator를 선언해주고, 다른 페이지에서 접근해서 사용함.
// main.dart
final navigatorKey = GlobalKey<NavigatorState>(); // 글로벌 키 생성
void main() => runApp(
MaterialApp(
home: HomePage(),
navigatorKey: navigatorKey, // 키 전달
),
);
class HomePage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: SafeArea(
child: Center(
child: Text('test')
)
),
floatingActionButton: FloatingActionButton(
onPressed: showMyDialog,
),
);
}
}
void showMyDialog() {
showDialog(
context: navigatorKey.currentContext, // 키 가져옴
builder: (context) => Center(
child: Material(
color: Colors.transparent,
child: Text('Hello'),
),
)
);
}