2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MaterialUIで色の型補完が効くようにする(無理やり)

Last updated at Posted at 2023-01-12

解決できること

色指定する時に「primary.main」「error.main」などのカラーテーマが出てこないのを改善します。

具体的にこういう場面

colorプロパティにprimary.mainを使いたいが…
↓ そもそもprimaryが出てきていない
image.png

解決策

createThemeの後にpaletteをエクスポートする。

theme.paletteにはパレットで設定したカラーが入っています。

// App.ts

import { createTheme, ThemeProvider } from "@mui/material";
import React from "react";
import { RouterProvider } from "react-router-dom";
import { router } from "./routers/router";

export const theme = createTheme({
    // カスタムする場合、ここでパレットの色を設定
    palette: {
        primary: {
            main: "#EF6E6E",
        },
    }
});

    // themeのpaletteオブジェクトをエクスポート 
+ export const palette = theme.palette;

export const App: React.FC = () => {
    return (
        <ThemeProvider theme={theme}>
            <RouterProvider router={router} />
        </ThemeProvider>
    );
};

色を指定する時はpaletteをインポートして使っていく。
image.png
primary以外の色もpaletteから指定できるので多少は便利になった。

結論

MUIで色指定に型補完を付ける記事が見当たらなかったので、オレオレ実装してみました。(ChakraUIの型補完の記事はたくさんありました)

このやり方で問題ないのか、保守性は良いのか、そこら辺はワカランです。
そもそも他の書き方があるのかもしれません。

他のやり方があればコメントで教えて頂ければ幸いです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?