GoRouter ์ง๋ฌธ
์ ๋ ErrorScreen ๊น์ง ๊ตฌํํ๋ฉด์ go๊ฐ ์คํ๋์ง ์๋ ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค.๊ทธ๋ฐ๋ฐ _router ์ ์ธ ๋ถ๋ถ์ ์์ ํ๋ ์ ์์ ์ผ๋ก go ๊ฐ ์คํ๋๋ค์.์๋ ๊ฐ์ฌ๋ ๋ต๋ณ์ฒ๋ผ ์ฌ์์๋ ํด์ฃผ์๊ธฐ ๋ฐ๋์. void main() { runApp(const _App()); } // _router ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํ์์ต๋๋ค. final _router = GoRouter( initialLocation: '/', errorBuilder: (context, state) { return ErrorScreen(error: state.error.toString()); }, routes: [ GoRoute( path: '/', builder: (context, state) => HomeScreen(), routes: [ GoRoute( name: 'one', path: 'one', builder: (context, state) => OneScreen(), routes: [ GoRoute( name: 'two', path: 'two', builder: (context, state) => TwoScreen(), routes: [ GoRoute( name: ThreeScreen.routename, path: 'three', builder: (context, state) => ThreeScreen(), ), ], ), ], ), ], ), ], ); class _App extends StatelessWidget { const _App({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp.router( // routerConfig: _router, debugShowCheckedModeBanner: false, routeInformationProvider: _router.routeInformationProvider, routeInformationParser: _router.routeInformationParser, routerDelegate: _router.routerDelegate, ); } }