hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

vue-history-state を next.js にも移植した

先日の記事では、Next.js に移植しようかなぁ、という話を書いていたが、無事移植できた。

next-navigation-history - npm

最初は next-history-state で出そうと思ってたんだけど、ブラウザ標準機能として Navigation API というものが計画されている聞き、その内容とある程度整合性を取った結果、名称を変更することにした。

Navigation API、もしこのAPIが実装されたら私の作ったライブラリはさほど必要なくなるとはいえ、現状は Chrome でくらいしか動かないし、まだまだ仕様が変わる可能性も高い。そもそもの話、ちょっと仕様がファットすぎるので、このまま進むのかどうかよくわからないところもある。いつ仕様が変わってもまったく不思議ではない。

一方で、この Navigation API の中でこれはいいな、と思える仕様があったので取り込んでみた。それは info という機能。遷移元の画面から遷移先の画面に情報を引き渡すことができる機能だ。登録が終わった後に遷移先でメッセージを表示したいみたいなことはよくあるので良い機能だと思う。

ちなみに、つい先日リリースされた Next.js v13 では今のところ動かせていない。 理由は不明なのだがライブラリ側から useMemo などの React API が使えず唐突に落ちてしまう。おそらく Next.js v13 側の依存関係解決の不具合なのではと思うのだがしばらく様子を見ようと思う。ファーストリリースはだいたいそんなもんだしね。

[2022/11/02追記] Nextjs v13 でも動くようになったのでv0.2.2 をリリースした。