作成:2026-06-22最終更新:2026-06-22
このドキュメントをあなたの好きなAIアシスタントに参照してくださいChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "usePathname ユーティリティを追加"v10.0.02026/6/23
- "履歴の初期化"v8.2.02026/6/22
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るEdit this doc
If you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy
Copy doc Markdown to clipboard
Svelte 統合: usePathname ドキュメント
usePathname 関数は、ロケールセグメントが削除された現在のブラウザのパス名を Svelte の Readable<string> ストアとして返します。これは、ロケールプレフィックスを手動で削除することなく、ロケールを考慮したナビゲーション(例えば、どのナビゲーション項目がアクティブかを判断するなど)を構築するのに役立ちます。
Svelte で usePathname をインポートする
typescript
コードをコピー
コードをクリップボードにコピー
import { usePathname } from "svelte-intlayer";概要
usePathname は window.location.pathname から初期化される Svelte の読み取り可能なストア(readable store)を作成し、getPathWithoutLocale を介してロケールプレフィックスを削除し、ブラウザが popstate イベント(戻る/進むナビゲーション)を発生させるたびに新しい値を発行します。コンポーネント内では $ ストア構文を使用してサブスクライブします。
使用法
src/components/NavItem.svelte
コードをコピー
コードをクリップボードにコピー
<script lang="ts"> import { usePathname } from "svelte-intlayer"; export let href: string; export let label: string; const pathname = usePathname();</script><a {href} aria-current={$pathname === href ? "page" : undefined}> {label}</a>戻り値
テーブルのすべての内容を表示
テーブルをモーダルで開き、すべてのデータを明確に表示
| タイプ | 説明 |
|---|---|
Readable<string> | ロケールプレフィックスを含まない現在のパス名を含む Svelte の読み取り可能なストア(Readable store)。 |
動作
- ロケールの削除: 先頭のロケールセグメントを削除します(例:
/ja/dashboard→/dashboard)。 - リアクティブ:
popstateイベント(ブラウザの戻る/進むナビゲーション)のたびに新しい値を発行します。 - SSR セーフ:
windowが利用できない場合は""を返します。 - クリーンアップ: 最後のサブスクライバーがサブスクライブを解除すると、
popstateリスナーは自動的に削除されます。
例
src/components/Sidebar.svelte
コードをコピー
コードをクリップボードにコピー
<script lang="ts"> import { usePathname } from "svelte-intlayer"; const links = [ { href: "/dashboard", label: "ダッシュボード" }, { href: "/settings", label: "設定" }, ]; const pathname = usePathname();</script><nav> {#each links as link} <a href={link.href} style:font-weight={$pathname === link.href ? "bold" : "normal"} > {link.label} </a> {/each}</nav>関連
useLocale— 現在のロケール + ロケールスイッチャーgetPathWithoutLocale— このフックで使用される基礎的なユーティリティ