前提・実現したいこと
初歩的な内容かと思いますが、Dartに関する知見がなく
実現方法が調べても分からなかったため質問させていただきます。
Flutter/Dartを用いてWebページのルーティングを行おうとしています。
各ページのURLをKey、その時のページオブジェクトのクラスをValueとした辞書型を作成し
MaterialPageRouteのBuilderにてページオブジェウトを返すようにしようとしたのですが
ValueがType型であるため実行できません。
発生している問題・エラーメッセージ
The return type 'Type' isn't a 'Widget', as required by the closure's context.
該当のソースコード
Dart
1const routes = { 2 '/': MyHomePage, 3 '/login': LoginPage, 4 '/signup': SignupPage, 5}; 6 7 8class MyApp extends StatelessWidget { 9 10 Widget build(BuildContext context) { 11 return MaterialApp( 12 onGenerateRoute: (settings) { 13 var paths = settings.name.split('?'); 14 var path = paths[0]; 15 16 return MaterialPageRoute( 17 settings: RouteSettings(name: settings.name), 18 builder: (context) => routes[path](), 19 ); 20 ), 21 ); 22 } 23}
補足情報(FW/ツールのバージョンなど)
- Flutter 2.0.4
- Dart SDK version: 2.12.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/18 09:45