NextJSのLinkコンポーネントを勉強していてエラーがでました。
すぐに解決しましたが、備忘録的に記事に起こしておこうと思います
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import Link from "next/link"; export default function Home() { return ( <> <h1>Home</h1> <Link href="/router" as="/dummy-url"> <a>/router</a> </Link> <br /> <a href="/router"></a> </> ); } |
エラー
上記のコードを書いて、npm run dev でサーバを起動し、
にアクセスすると、画面に↓が表示されましたhttp://localhost:3000/
パッと見た感じ、Linkコンポーネント内でaタグが使えないようですね
記載されているこのURLにアクセスしてみると、
やっぱりLink内にaタグがあるのがよくなさそう
もう少し調べてみる
NextJSの公式ドキュメントをもう少し調べてみると、
このページにたどり着きました。
ここを見ると、NextJS 12.2以降から
Linkコンポーネント内にaタグが必要なくなったようです。
今回は13.1を使用しているため、つじつまが合いますね。
対処
原因はわかったので、aタグを外してみます(下記コード参照)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import Link from "next/link"; export default function Home() { return ( <> <h1>Home</h1> <Link href="/router" as="/dummy-url"> {/* aタグを外す */} /router </Link> <br /> <a href="/router"></a> </> ); } |
なおりましたー、よかった
公式ドキュメント見るのは勉強になりますね。
コメント