Mateial UI も tailwind CSS も使いたい? そんなあなたに『Material Tailwind』がおすすめ

tailwind CSS はReactととても相性が良いです。一方で、tailwind CSSはコンポーネントなどを持たないため、アイコンやタブやカードやナビなどコンポーネントをイチから用意する必要があります。

用意されたアイコンやタブやカードやナビなどのコンポーネントを使いたい場合は、Material UIが1つの選択肢になります。

Material UI のコンポーネントも使いつつ、tailwind CSSでスタイリングしたい。
そんなあなたに Material Tailwind がおすすめです。

Material Tailwind とは

tailwind css ベースのMaterial UI準拠のコンポーネントが使えるのが Material Tailwind です。Material UI も tailwind CSS もどちらも使いたい場合は、非常に便利なモジュールです。

React への導入方法

基本的には、以下の公式サイトの案内に従って進めていけばOKです。

大まかな手順は以下の通りです。

  1. Reactプロジェクトを作成
  2. tailwind CSSを導入
  3. Material Tailwindを導入

React に tailwind CSSを導入する

まず、create-react-app でプロジェクトを生成してから、tailwind css をインストール・セットアップします。セットアップ方法は、以下の記事を参照してください。

Material Tailwind を導入する

tailwind css の導入が完了後に、Material Tailwind の導入を進めます。
npmを使用している場合、以下のコマンドでインストールします。

npm i @material-tailwind/react

その後、configファイルを以下のように修正します。

const withMT = require("@material-tailwind/react/utils/withMT");

module.exports = withMT({
  content: ["./src/**/*.{js,jsx,ts,tsx}"],
  theme: {
    extend: {},
  },
  plugins: [],
});

これで準備は完了です。

Material Taliwindのつかいかた

ボタンを使う場合は、以下のように Material UI と Tailwind CSS の記述をそのまま使えばOKです。Material UIのコンポーネントを使いつつ、スタイルのカスタマイズは tailwind CSS でできます。

import { Button } from "@material-tailwind/react";
 
export default function Buttons() {
  return (
    <div className="flex w-max gap-4">
          <Button>Button</Button>
          <Button color="green" className="text-xl text-yellow-500">Button</Button>
    </div>
  );
}
ボタン

公式サイトに詳しい説明が載っていますので、そちらが参考になります。

まとめ

Material UI と tailwind CSS のどちらも使える Material Tailwind というモジュールを紹介しました。規模の小さなアプリを開発するには、効率がとても良くなるモジュールだと思います。