shiftB
instagramyoutube
運営会社プライバシーポリシー特定商取引法に基づく表記JavaScript学習サイト JS Gym
お問い合わせ
©2025 bubekichi inc.

🎯 Toast 以外のおすすめ Radix UI コンポーネント(+コード例)

0
XThreads
受講生ブログ

🎯 Toast 以外のおすすめ Radix UI コンポーネント(+コード例)

icon
さかした

🎯 Toast 以外のおすすめ Radix UI コンポーネント(+コード例)

公開: 2025年05月13日

Tips
学習振り返り
要約
  • Radix UI はアクセシビリティに優れた低レベル UI コンポーネントライブラリで、Tailwind CSS と自由に組み合わせられる。
  • 特に便利なコンポーネントには Dialog、Dropdown Menu、Switch があり、それぞれモーダル、メニュー、トグルとして活用可能。
  • これらのコンポーネントは WAI-ARIA に準拠し、キーボード操作にも対応しており、アプリの UI 品質を向上させる。
音声で記事を再生
0:00

Radix UI は、アクセシビリティに優れた低レベル UI コンポーネントを提供するライブラリです。デザインに縛られることなく、Tailwind CSS などと自由に組み合わせて、自分のアプリに最適なスタイルで使えるのが特徴です。

特に Toast コンポーネントは有名ですが、それ以外にも実用的で拡張性の高いコンポーネントが数多く存在します。本記事では、実際のアプリにもすぐに導入できる Radix UI のおすすめコンポーネント3選をご紹介します。

1. Dialog(モーダルダイアログ)

🔗 公式ドキュメント

✅ 特徴

  • アクセシブルなモーダル

  • フォーカストラップや ESC クローズなど自動対応

サンプルコード:

import * as Dialog from "@radix-ui/react-dialog";

export function ExampleDialog() {
  return (
    <Dialog.Root>
      <Dialog.Trigger className="btn">設定を開く</Dialog.Trigger>
      <Dialog.Portal>
        <Dialog.Overlay className="fixed inset-0 bg-black/50" />
        <Dialog.Content className="fixed top-1/2 left-1/2 bg-white p-6 rounded shadow transform -translate-x-1/2 -translate-y-1/2">
          <Dialog.Title className="text-lg font-bold">設定</Dialog.Title>
          <Dialog.Description>ここでアプリの設定を変更できます</Dialog.Description>
          <button className="mt-4 btn">保存</button>
          <Dialog.Close className="absolute top-2 right-2">×</Dialog.Close>
        </Dialog.Content>
      </Dialog.Portal>
    </Dialog.Root>
  );
}

2. Dropdown Menu(ドロップダウン)

🔗 公式ドキュメント

✅ 特徴

  • コンテキストメニューやアカウントメニューなどに便利

  • キーボード操作に対応

サンプルコード:

import * as DropdownMenu from "@radix-ui/react-dropdown-menu";

export function UserMenu() {
  return (
    <DropdownMenu.Root>
      <DropdownMenu.Trigger className="btn">メニュー</DropdownMenu.Trigger>
      <DropdownMenu.Content className="bg-white p-2 shadow rounded">
        <DropdownMenu.Item className="p-2 hover:bg-gray-100">プロフィール</DropdownMenu.Item>
        <DropdownMenu.Item className="p-2 hover:bg-gray-100">設定</DropdownMenu.Item>
        <DropdownMenu.Separator className="my-1 border-t" />
        <DropdownMenu.Item className="p-2 text-red-500 hover:bg-red-100">ログアウト</DropdownMenu.Item>
      </DropdownMenu.Content>
    </DropdownMenu.Root>
  );
}

3. Switch(トグルスイッチ)

🔗 公式ドキュメント

✅ 特徴

  • テーマ切り替え、通知オンオフなどに最適

  • デザインを自由にカスタマイズ可能

サンプルコード:

import * as Switch from "@radix-ui/react-switch";

export function NotificationSwitch() {
  return (
    <label className="flex items-center space-x-2">
      <span>通知</span>
      <Switch.Root className="w-10 h-6 bg-gray-300 rounded-full relative">
        <Switch.Thumb className="block w-4 h-4 bg-white rounded-full translate-x-1 transition-transform data-[state=checked]:translate-x-5" />
      </Switch.Root>
    </label>
  );
}

✍️ ブログ記事に追加するならこんな感じで:

Radix UI の強力さは Toast に限らず、以下のような アクセシブルで柔軟な UI コンポーネントが揃っています:

  • Dialog: フォームや設定用のモーダル

  • DropdownMenu: ナビゲーションやユーザーメニュー

  • Switch: トグルで設定変更に便利

これらは WAI-ARIA に準拠し、キーボード操作にも完全対応。Tailwind CSS と組み合わせれば、デザインも統一しやすくなります。
Radix UI を導入することで、アプリの UI 品質を一段階引き上げられることは間違いありません。

0

シェア!

XThreads
ShiftB Logo
icon
さかした
おじさんでも学べる!をモットーに。 以前はRuby(約4年)、今は React / Next.js を中心に、学習中。個人開発を中心にして、スキルアップを目指しています。
プロフィールを見る
Loading...
記事一覧に戻る
ShiftB Logo
XThreads
0

関連記事

TAの使い方とマインドセット

icon
tomoe

Webにおけるデザインのコツ

icon
こーすけ

オリジナルアプリ奮闘記

icon
tomoe

自分情熱大陸 -感謝を伝えたいと思い、書きました-

icon
tomoe

個人開発のモチベーション維持(TAのさえずり)

user
吉本茜

MBTI×学習スタイル 巨匠の私が約4ヶ月で完走した学習戦略

user
吉本茜

最新記事

転職して1か月の振り返り

icon
tomoe

【12章】オリジナルアプリ制作の振り返り

icon
三嶋雅幸

AIで理解を作る学び方⭐️ わからない単語だらけでも前に進むための思考フロー

user
吉本茜

12章 オリジナルアプリ制作を終えて (WEBアプリ開発のコツを掴みかけたような気がする)

icon
青栁幸助

【1章】事前準備の振り返り

user
大西晴空

【2章】Webアプリケーション概要の振り返り

user
大西晴空