LoginSignup
0
2

More than 1 year has passed since last update.

【React】Material-UIで導入したコンポーネントのカラー変更方法

Last updated at Posted at 2021-04-30

Material-UIの色

Material-UIでボタンやアプリバーなどを手軽に導入できますが、そのまま導入するとデフォルトの色で配置されます。

アプリによってはデフォルトとは違う色合いでコンポーネントを使いたい場合があると思います。

今回はデフォルトから指定の色に、コンポーネントの色を変更する方法について書いていきます。

実装方法

いきなりですが実装方法です。
今回はアプリバーの「基本的な検索フィールド付きApp Bar」を使用します
デフォルトは下記画像になります。

image.png

基本的に青色を基調とし、数字は赤色になっています。

このコンポーネントのコードに、そのままコンポーネントのcolorをredにしてもコンポーネントの色は変わりません。

コンポーネントの色を変えるには、
1.createMuiThemeを定義して、色を定義する
2.上記で定義したcreateMuiThemeをthemeとして親要素の引数で渡す
上記2点をする必要があります。
下記のようになります。

APP.js
import React from 'react';
import PrimarySearchAppBar from "./component/MaterialUIHead";
import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';

//primaryとsecondaryで、色を指定します
const myTheme = createMuiTheme({
  palette: {
    primary: {
      main: "#9c27b0",
    },
  secondary: {
      main: "#76ff03",
    },
  },
});

function App() {
  return (
    //PrimarySearchAppBarの親要素にThemeProviderを配置し、themeに上記で定義したmyThemeを渡します
    <ThemeProvider theme={myTheme}>
        <PrimarySearchAppBar></PrimarySearchAppBar>
    </ThemeProvider>
  );
}

export default App;

上記コードを適用すると、下記のようになります。
今回はPrimaryに紫、secondaryに黄緑色を指定しました。

image.png

色について

ちなみに、任意の色の16進数を下記で定義できます。
Material-UI Playground
https://material-ui.com/ja/customization/color/#playground

参考

Material-UI コンポーネント内のテーマへのアクセス
https://material-ui.com/customization/theming/#accessing-the-theme-in-a-component

Material-UI基本的な検索フィールド付きApp Bar
https://material-ui.com/ja/components/app-bar/#app-bar-with-a-primary-search-field

Material-UI Playground
https://material-ui.com/ja/customization/color/#playground

0
2
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
0
2