4
1

More than 1 year has passed since last update.

Next.jsで今の場所(current url)を取得

Posted at

業務でcurrent urlを使用する機会があったのでメモ。

useRouter

Next.jsにはuseRouterというhookがあるので、そちらを使用しました。

URLを取得する方法

JavaScript
import { useRouter } from "next/router";

const router = useRouter(); 

console.log(router.pathname)
// http://localhost:3000/aaa/bbb ▶︎ /aaa/bbb

useRouterを使うことで現在のページのドメイン以下のURLを取得することができます。

routerオブジェクト

※よく使いそうなもの

pathname

router.pathnameでドメイン以降のpathが取得できます。
パラメータやクエリは取得できず、たとえば
http://localhost:3000/blog/[id]の[id]の動的ルーティング部分は取得できません。

asPath

router.asPathでドメイン以降のpathと[id]の中身も文字列で取得できます。
http://localhost:3000/blog/[id]の[id]の中身が[aaa]ならば/blog/aaaで取得できます。

query

router.queryでオブジェクトとして動的ルーティングの中身を取得できます。
http://localhost:3000/blog/aaaの[aaa]が[id]の場合{ id: 'aaa' }として取得できます。

そのほかにも色々あるみたいなので気になる方は調べてみてください。
https://nextjs.org/docs/api-reference/next/router

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1