新しいWidgetを追加した記事を書く際にそこへのリンクが貼れないのが気になっていたので、
画面遷移した時にURL(path)が変わるようにしました。
参考記事の通りNavigator.pushNamed
を使うと変わるようになりました。
最初はargumentsで表示するwidgetを指定していたのですが、 ブラウザで直接見た場合argumentsがなくてエラーになるのでやめ、初期化のときに渡すようにしました。
1
2
3
4
5
6
routes: PainterScreen.widgets.map(
(String path, String name) => MapEntry<String, WidgetBuilder>(
'/$path',
(BuildContext context) => PainterScreen(path: path),
),
),
こんな感じです。
これで直接リンクを貼れるようになりました。
例えば、以下から「Fuyo Fuyo」を表示できます。
https://tnantoka.github.io/moyo/#/fuyofuyo
ソースコード
今回行ったコミットは以下です。
https://github.com/tnantoka/moyo/commit/0e0c940f4404383631541c9cd147667bea9ed7f4