リンク

リンクを使用すると、ユーザーはページからページへとクリックして移動できます。このコンポーネントはハイパーリンクのようにスタイルされ、セマンティックに<a>をレンダリングします。


インストール

npx nextui-cli@latest add link
上記のコマンドは、個別のインストール専用です。もし@nextui-org/reactがグローバルにインストール済みの場合は、この手順をスキップしてもかまいません。 @nextui-org/react がグローバルにインストールされている場合は、このステップをスキップできます。

インポート

使用方法

無効

サイズ

下線

外部

isExternal propを渡すと、リンクにはtarget="_blank"rel="noopener noreferrer"属性が設定されます。

カスタムアンカーアイコン

isBlock プロパティを渡すと、リンクはhoverエフェクトを持つブロック要素としてレンダリングされます。

ポリモーフィックコンポーネント

NextUIコンポーネントは、コンポーネントのレンダリングに使用されるReact要素のタイプをカスタマイズできるasプロパティを公開しています。

ルーティング

<Link>コンポーネントは、Next.jsReact Routerのようなフレームワークやクライアントサイドルーターと連携します。設定方法については、ルーティングガイドをご覧ください。

import {Link} from "@nextui-org/react";
function App() {
return (
<>
<Link href="/home">Home</Link>
<Link href="/about">About</Link>
</>
);
}

カスタム実装

リンクをさらにカスタマイズする必要がある場合は、useLinkフックを使用して、独自の実装を作成できます。

データ属性

Linkには、base要素に次の属性があります。

  • data-focus: リンクがフォーカスされているとき。useFocusRingに基づきます。
  • data-focus-visible: リンクがキーボードでフォーカスされているとき。useFocusRingに基づきます。
  • data-disabled: リンクが無効になっているとき。isDisabledプロパティに基づきます。

アクセシビリティ

  • マウス、タッチ、キーボード操作をサポートします。
  • <a>要素またはARIAを介したカスタム要素タイプによるナビゲーションリンクをサポートします。
  • 無効なリンクをサポートします。
  • キーボードユーザーは、Enterキーを使用してリンクをアクティブ化できます。

API

属性説明デフォルト
sizesm | md | lgリンクのサイズ。md
colorforeground | primary | secondary | success | warning | dangerリンクの色。primary
underlinenone | hover | always | active | focusリンクの下線。none
hrefstringリンク先のURL。MDNを参照してください。-
targetHTMLAttributeAnchorTargetリンクのターゲットウィンドウ。MDNを参照してください。-
relstringリンクされたリソースと現在のページの関係。 MDNを参照してください。-
downloadboolean | stringリンクされたURLをブラウザにダウンロードさせます。ファイル名を提案するために文字列を指定できます。 MDNを参照してください。-
pingstringリンクがたどられたときにpingを送信するURLのスペース区切りリスト。MDNを参照してください。-
referrerPolicyHTMLAttributeReferrerPolicyリンクをたどる際に送信するリファラーの量。MDNを参照してください。-
isExternalbooleanリンクを新しいタブで開くかどうか。false
showAnchorIconbooleanアンカーアイコンを表示するかどうか。false
anchorIconReactNodeアンカーアイコン。-
isBlockbooleanリンクをホバーエフェクト付きのブロックとしてレンダリングするかどうか。false
isDisabledbooleanリンクが無効かどうか。false
disableAnimationbooleanリンクとブロックのアニメーションを無効にするかどうか。false
属性説明デフォルト
onPress(e: PressEvent) => voidターゲット上でプレスが離されたときに呼び出されるハンドラー。-
onPressStart(e: PressEvent) => voidプレスインタラクションが開始されたときに呼び出されるハンドラー。-
onPressEnd(e: PressEvent) => voidプレスインタラクションが終了したときに呼び出されるハンドラー。ターゲット上またはポインターがターゲットを離れた場合。-
onPressChange(isPressed: boolean) => voidプレス状態が変化したときに呼び出されるハンドラー。-
onPressUp(e: PressEvent) => voidターゲット上でプレスが離されたときに呼び出されるハンドラー。ターゲット上で開始されたかどうかに関係なく。-
onKeyDown(e: KeyboardEvent) => voidキーが押されたときに呼び出されるハンドラー。-
onKeyUp(e: KeyboardEvent) => voidキーが離されたときに呼び出されるハンドラー。-
onClickMouseEventHandlerネイティブリンクのクリックイベントハンドラー(非推奨)代わりにonPressを使用してください。-