ホームページ > ウェブフロントエンド > jsチュートリアル > MUI コンポーネント: 最新の React UI を構築するための完全ガイド

MUI コンポーネント: 最新の React UI を構築するための完全ガイド

Susan Sarandon
リリース: 2024-12-29 17:53:11
オリジナル
340 人が閲覧しました

MUI コンポーネントの概要

マテリアル UI (MUI) は、応答性が高く視覚的に魅力的な Web アプリケーションの構築を簡素化する人気の React UI ライブラリです。 AutocompleteStackSelectCardAccordion、ステッパー、およびバッジ、 MUI は、設計の一貫性と応答性を確保しながら開発時間を節約します。

このガイドでは、これらのコンポーネントを効果的に使用およびカスタマイズする方法を、プロジェクトにシームレスに統合するのに役立つ実践的な例とともに説明します。初心者でも経験豊富な開発者でも、この記事は MUI とその機能についての理解を深めます。

前提条件

MUI コンポーネントに入る前に、開発環境の準備ができていることを確認してください。このガイドは、読者が React の基本を理解しており、React アプリケーションをすでにセットアップしていることを前提としています。新しく始めたい場合、またはより高速で軽量なセットアップを希望する場合は、フロントエンド プロジェクト用の最新のビルド ツールである

Vite の使用を検討してください。 React で Vite をセットアップする詳細な手順については、React で Vite を使用するための初心者ガイドを参照してください。

さらに、

マテリアル UI (MUI) がプロジェクトにインストールされていることを確認してください。これを行うには、次のコマンドを実行します:

npm install @mui/material @emotion/react @emotion/styled
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
React アプリケーションがセットアップされたら、次のステップは MUI の統合です

テーマの設定

マテリアル UI (MUI) は、アプリケーション内のすべてのコンポーネント間でデザインの一貫性を保証する強力なテーマ システムを提供します。カスタム テーマは色、タイポグラフィ、間隔などを制御し、ブランドとの整合性を確保します。

MUI で基本的なテーマを設定する方法は次のとおりです:

  1. 必要なユーティリティのインポート: createTheme を使用してカスタム テーマを定義し、ThemeProvider を使用してそれをグローバルに適用します。

  2. テーマを定義します: パレット、タイポグラフィ、その他のデザイン プロパティの値を指定します。

  3. アプリケーションをラップする: ThemeProvider を使用して、テーマをアプリ全体または特定のセクションに渡します。

例: カスタム テーマの作成と適用

import React from 'react';
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { Button } from '@mui/material';

// Define a custom theme
const theme = createTheme({
  palette: {
    primary: {
      main: '#1976d2', // Primary color
    },
    secondary: {
      main: '#dc004e', // Secondary color
    },
  },
  typography: {
    fontFamily: 'Roboto, Arial, sans-serif',
  },
});

function App() {
  return (
    <ThemeProvider theme={theme}>
      <Button variant="contained" color="primary">
        Primary Button
      </Button>
      <Button variant="outlined" color="secondary">
        Secondary Button
      </Button>
    </ThemeProvider>
  );
}

export default App;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
カスタマイズのヒント:

  • テーマの拡張: スペースやブレークポイントなどのデザイン プロパティを追加して、アプリのニーズに合わせてテーマを調整します。
  • sx Prop の使用: コンポーネントごとに素早いカスタマイズを行うために、MUI の sx Prop を使用すると、テーマに準拠しながらスタイルをインラインでオーバーライドできます。
テーマを設定すると、設計プロセスが合理化され、一貫性が維持され、アプリの外観の今後の更新が簡素化されます。

主要な MUI コンポーネント

MUI は、UI 開発を効率化するためのさまざまなコンポーネントを提供します。以下では、最も一般的に使用されるコンポーネントのいくつか、その基本的な使用法、カスタマイズ オプションについて説明します。

1. MUI オートコンプリート

オートコンプリートは、事前定義されたリストから提案を提供することでユーザー入力を強化します。

基本的な例:

npm install @mui/material @emotion/react @emotion/styled
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

カスタマイズ:

  • freeSolo で自由な入力を有効にします。
  • groupBy を使用したグループ オプション。
  • スケーラビリティのためにオプションを動的にフェッチします。

MUI Components: Your Complete Guide to Building Modern React UIs

2. MUI スタック

スタックは、コンポーネントを 1 次元レイアウト (水平または垂直) に配置します。

基本的な例:

import React from 'react';
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { Button } from '@mui/material';

// Define a custom theme
const theme = createTheme({
  palette: {
    primary: {
      main: '#1976d2', // Primary color
    },
    secondary: {
      main: '#dc004e', // Secondary color
    },
  },
  typography: {
    fontFamily: 'Roboto, Arial, sans-serif',
  },
});

function App() {
  return (
    <ThemeProvider theme={theme}>
      <Button variant="contained" color="primary">
        Primary Button
      </Button>
      <Button variant="outlined" color="secondary">
        Secondary Button
      </Button>
    </ThemeProvider>
  );
}

export default App;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

カスタマイズ:

  • 方向 (行、列) と間隔を変更します。
  • 動的レイアウトにはレスポンシブ プロップを使用します。

MUI Components: Your Complete Guide to Building Modern React UIs

3. MUI 選択

選択は、ユーザーが選択するためのドロップダウン コンポーネントです。

基本的な例:

import React from 'react';
import { Autocomplete, TextField } from '@mui/material';

const options = ['Option 1', 'Option 2', 'Option 3'];

function AutocompleteExample() {
  return (
    <Autocomplete
      options={options}
      renderInput={(params) => <TextField {...params} label="Select an Option" />}
    />
  );
}

export default AutocompleteExample;
ログイン後にコピー
ログイン後にコピー

カスタマイズ:

  • CardMedia を使用して画像を追加します。
  • CardActions を使用してアクションを含めます。

MUI Components: Your Complete Guide to Building Modern React UIs

5. MUI アコーディオン

Accordion は、FAQ などの折りたたみ可能なセクションに最適です。

基本的な例:

import React from 'react';
import { Stack, Button } from '@mui/material';

function StackExample() {
  return (
    <Stack direction="row" spacing={2}>
      <Button variant="contained">Button 1</Button>
      <Button variant="outlined">Button 2</Button>
    </Stack>
  );
}

export default StackExample;
ログイン後にコピー

カスタマイズ:

  • 制御された状態には、expanded と onChange を使用します。
  • disableGutters を使用してパディングを削除します。

MUI Components: Your Complete Guide to Building Modern React UIs

6. MUI ステッパー

ステッパーはワークフローまたは複数ステップのプロセスを作成します。

基本的な例:

import React, { useState } from 'react';
import { Select, MenuItem, FormControl, InputLabel } from '@mui/material';

function SelectExample() {
  const [value, setValue] = useState('');

  const handleChange = (event) => setValue(event.target.value);

  return (
    <FormControl fullWidth>
      <InputLabel>



<p><strong>Customization:</strong>  </p>

<ul>
<li>Enable multiple selections with multiple.
</li>
<li>Render custom items with renderValue.</li>
</ul>

<p><img src="https://img.php.cn/upload/article/000/000/000/173546599689834.jpg" alt="MUI Components: Your Complete Guide to Building Modern React UIs" /></p>

<h4>
  
  
  <strong>4. MUI Card</strong>
</h4>

<p>Card displays structured content like text, images, and actions.</p>

<p><strong>Basic Example:</strong><br>
</p>

<pre class="brush:php;toolbar:false">import React from 'react';
import { Card, CardContent, Typography } from '@mui/material';

function CardExample() {
  return (
    <Card>
      <CardContent>
        <Typography variant="h5">Card Title</Typography>
        <Typography variant="body2">Card Content</Typography>
      </CardContent>
    </Card>
  );
}

export default CardExample;
ログイン後にコピー

カスタマイズ:

  • ステップにアイコンを追加します。
  • アクティブなステップまたは完了したステップを sx でスタイル設定します。

![MUI ステッパー(https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l6oockmr57d8wgj659hy.png)

7. MUIバッジ

バッジは、通常はアイコン上にある通知またはカウントを強調表示します。

基本的な例:

import React from 'react';
import { Accordion, AccordionSummary, AccordionDetails, Typography } from '@mui/material';
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';

function AccordionExample() {
  return (
    <Accordion>
      <AccordionSummary expandIcon={<ExpandMoreIcon />}>
        <Typography>Accordion Title</Typography>
      </AccordionSummary>
      <AccordionDetails>
        <Typography>Accordion Content</Typography>
      </AccordionDetails>
    </Accordion>
  );
}

export default AccordionExample;
ログイン後にコピー

カスタマイズ:

  • バッジの位置と色を変更します。
  • 大きな数値に上限を設定するには、max を使用します。

MUI Components: Your Complete Guide to Building Modern React UIs

これらの主要な MUI コンポーネントは、直感的で応答性の高いインターフェイスを作成するための基盤を提供します。カスタマイズ オプションと実用的な例を使用すると、プロジェクトのニーズに合わせて簡単に調整できます。

MUI コンポーネントを使用するためのベスト プラクティス

マテリアル UI (MUI) を使用してプロジェクトの効率と保守性を最大化するには、次のベスト プラクティスを考慮してください。

1.一貫性のためにテーマを活用する

  • 理由: MUI のテーマ システムを使用すると、デザインの統一性が確保され、冗長なスタイルが削減され、保守性が向上します。
  • 方法: createTheme でカスタム テーマを定義し、ThemeProvider でグローバルに適用します。これにより、色、タイポグラフィ、間隔がすべてのコンポーネントで一貫していることが保証されます。
  • 例: テーマを使用して、アプリケーション全体で一次色と二次色、またはタイポグラフィ スタイルを調整します。

2. sx Prop を使用して簡単にカスタマイズします

  • 理由: sx prop は、外部 CSS ファイルを使用せずにコンポーネントにスタイルを直接適用する簡潔な方法を提供します。
  • 方法: 柔軟なインライン スタイルを実現するために、スタイル オブジェクトまたはテーマベースの値を sx prop に渡します。
  • 例:
npm install @mui/material @emotion/react @emotion/styled
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

3.遅延読み込みでパフォーマンスを最適化

  • 理由: 遅延読み込みは、必要なときにのみコンポーネントをレンダリングすることで、初期読み込み時間を短縮します。
  • 方法: React の Lazy() と Suspense を使用して、MUI コンポーネントをオンデマンドでロードします。
  • 例:
import React from 'react';
import { createTheme, ThemeProvider } from '@mui/material/styles';
import { Button } from '@mui/material';

// Define a custom theme
const theme = createTheme({
  palette: {
    primary: {
      main: '#1976d2', // Primary color
    },
    secondary: {
      main: '#dc004e', // Secondary color
    },
  },
  typography: {
    fontFamily: 'Roboto, Arial, sans-serif',
  },
});

function App() {
  return (
    <ThemeProvider theme={theme}>
      <Button variant="contained" color="primary">
        Primary Button
      </Button>
      <Button variant="outlined" color="secondary">
        Secondary Button
      </Button>
    </ThemeProvider>
  );
}

export default App;
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

4.ブレークポイントを備えたレスポンシブデザインを好む

  • 理由: 応答性の高いコンポーネントにより、デバイス間でシームレスなユーザー エクスペリエンスが保証されます。
  • 方法: xs、sm、md などのブレークポイントの応答性の高い値を持つグリッド システムまたは sx prop を使用します。
  • 例:
import React from 'react';
import { Autocomplete, TextField } from '@mui/material';

const options = ['Option 1', 'Option 2', 'Option 3'];

function AutocompleteExample() {
  return (
    <Autocomplete
      options={options}
      renderInput={(params) => <TextField {...params} label="Select an Option" />}
    />
  );
}

export default AutocompleteExample;
ログイン後にコピー
ログイン後にコピー

5.インラインスタイルの過度の使用を避ける

  • 理由: sx prop は強力ですが、過剰なインライン スタイルはコードを乱雑にし、読みやすさを低下させる可能性があります。
  • 方法: 再利用可能で整理されたスタイルを作成するには、makeStyles またはスタイル付き API を使用します。

6.高度な機能のコンポーネント API を探索する

  • 理由: MUI コンポーネントは、高度なカスタマイズを可能にする広範な API を提供します。
  • 方法: 特定のニーズに合わせて、MUI ドキュメントを定期的に参照して、Select の MenuProps や Autocomplete の renderInput などのプロパティを活用します。

7.アクセシビリティの確保 (A11y)

  • 理由: アクセシビリティにより、障害を持つユーザーを含むすべてのユーザーがアプリケーションを使用できるようになります。
  • 方法: セマンティック HTML と aria-* 属性などのアクセシビリティの小道具を使用します。たとえば、Accordion に aria-expanded を追加するか、ダイアログ要素に aria-labelledby を追加します。

8.本番環境でコンポーネントのパフォーマンスをテストする

  • 理由: 特定の MUI コンポーネントは、特に大規模なアプリケーションでパフォーマンスに重大な影響を与える可能性があります。
  • 方法: React DevTools や Lighthouse などのツールを使用して、パフォーマンスを分析し、ボトルネックを特定します。

9. MUI ドキュメントを常に最新の状態に保ってください

  • 理由: MUI は積極的にメンテナンスされており、新機能や改善が定期的に導入されています。
  • 方法: 公式ドキュメントの更新、ベスト プラクティス、新しいリリースを定期的に確認してください。

10.スケーラビリティのためにコンポーネントを再利用する

  • 理由: コンポーネントを再利用すると、開発労力が軽減され、一貫性が確保されます。
  • 方法: コードの繰り返しを避けるために、一般的な UI パターンを再利用可能なコンポーネント (ボタン、フォーム、カードなど) に抽象化します。

これらのベスト プラクティスに従うことで、MUI の可能性を最大限に活用しながら、効率的でスケーラブルで保守可能なアプリケーションを構築できます。

結論

マテリアル UI (MUI) コンポーネントは、応答性の高い最新の Web アプリケーションと強力なテーマ システムを構築するプロセスを簡素化します。このガイドで概説されているベスト プラクティスに従うことで、ユーザー エクスペリエンスを向上させる、一貫性があり、アクセスしやすく、高度にカスタマイズ可能なインターフェイスを作成できます。初心者でも経験豊富な開発者でも、MUI は React プロジェクトを効率的に高めるためのツールを提供します。

以上がMUI コンポーネント: 最新の React UI を構築するための完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート