【问题标题】:Material UI - Theme Style - typography not workingMaterial UI - 主题样式 - 排版不起作用
【发布时间】:2021-10-12 20:00:39
【问题描述】:

我正在尝试使用 Material UI 将版式更改应用于主题。但是对象更改不起作用。但是,调色板正在工作。

我尝试对 H3 变体和默认字体大小进行一些更改,但没有任何更改起作用。

但是,调色板上的颜色有效。

App.js

import React from "react";
import "./App.css";
import Header from "./components/ui/Header";
import { ThemeProvider } from "@material-ui/styles";
import theme from "./components/ui/Theme";

function App() {
    return (
        <ThemeProvider theme={theme}>
            <Header />
        </ThemeProvider>
    );
}

export default App;

标头/index.jsx

import React from "react";
import AppBar from "@mui/material/AppBar";
import Toolbar from "@mui/material/Toolbar";
import useScrollTrigger from "@mui/material/useScrollTrigger";
import Typography from "@mui/material/Typography";

function ElevationScroll(props) {
    const { children, window } = props;
    const trigger = useScrollTrigger({
        disableHysteresis: true,
        threshold: 0,
        target: window ? window() : undefined,
    });

    return React.cloneElement(children, {
        elevation: trigger ? 10 : 0,
    });
}

function Header() {
    return (
        <ElevationScroll>
            <AppBar color="primary">
                <Toolbar>
                    <Typography variant="h3" component="h3">
                        Nome de teste
                    </Typography>
                    <h3>Teste</h3>
                    Teste
                </Toolbar>
            </AppBar>
        </ElevationScroll>
    );
}

export default Header;

Theme.js

import { createTheme } from "@material-ui/core/styles";

const arcBlue = "#0B72B9";
const arcOrange = "#FFBA60";

export default createTheme({
    typography: {
        fontSize: 60,
        h3: {
            fontWeight: 500,
        },
    },
    palette: {
        common: {
            blue: `${arcBlue}`,
            orange: `${arcOrange}`,
        },
        primary: {
            main: `${arcBlue}`,
        },
        secondary: {
            main: `${arcOrange}`,
        },
    },
});

如果有人能提供帮助,我将不胜感激。

【问题讨论】:

  • 您正在从 v4 导入 ThemeProvider。见this
  • 知道了,我是从:import { ThemeProvider } from "@material-ui/styles"; 导入的,但是根据文档,它必须是:import { ThemeProvider } from "@material-ui/core/styles"; 谢谢你的帮助!
  • 不,它仅适用于 v4,在 v5 中使用 @mui/material/styles。 MUI v4 和 v5 使用不同的样式库,因此 v4 ThemeProvider 不能与 v5 样式 API 一起使用。
  • 文档在这个问题上似乎很混乱。但是我按照您的告知进行了更改,并且成功了。非常感谢!

标签: javascript reactjs material-ui


【解决方案1】:

解决方案

我从以下位置导入:

import { ThemeProvider } from "@material-ui/styles";

但是,根据文档,它需要是:

import { ThemeProvider } from "@mui/material/styles";

【讨论】:

    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2021-10-27
    • 2020-05-07
    • 1970-01-01
    • 2021-07-10
    • 2019-05-21
    相关资源
    最近更新 更多