Rap*_*117 0 css reactjs material-ui
我已经使用了很多 Material UI,所以这令人困惑。我查看了文档,检查了代码,但看不到问题。我希望嵌套组件中的 H2 标记使用 Arial。但是,它使用 Times 进行渲染。我不知道为什么。
这是我的 index.tsx:
import React from "react";
import ReactDOM from "react-dom";
import App from "./components/App";
import { Provider } from "react-redux";
import configureStore from "./redux/stores/main";
import * as serviceWorker from "./serviceWorker";
import { createMuiTheme } from "@material-ui/core";
import myTheme from "./styling/mainTheme";
import { ThemeProvider } from "@material-ui/styles";
const theme = createMuiTheme({
typography: {
fontFamily: ["Arial"].join(",")
}
});
ReactDOM.render(
<ThemeProvider theme={theme}>
<Provider store={configureStore()}>
<App />
</Provider>
</ThemeProvider>,
document.getElementById("root")
);
serviceWorker.unregister();
Run Code Online (Sandbox Code Playgroud)
我的应用程序组件:
import React from "react";
import { useSelector } from "react-redux";
import HeaderContainer from "../containers/layout/header/HeaderContainer";
import { ThemeProvider, useTheme } from "@material-ui/styles";
import theme from "../styling/mainTheme";
import { createMuiTheme } from "@material-ui/core";
const App: React.FC = () => {
const theme = useTheme();
return (
<div className="App">
<HeaderContainer />
</div>
);
};
export default App;
Run Code Online (Sandbox Code Playgroud)
标头容器(将包含逻辑):
import * as React from 'react';
import Header from '../../../components/layout/header/Header';
export interface HeaderContainerProps {
}
export default class HeaderContainer extends React.Component<HeaderContainerProps> {
public render() {
return <Header />
}
}
Run Code Online (Sandbox Code Playgroud)
最后是标题:
import * as React from "react";
import { styled } from "@material-ui/core/styles";
import AppBar from "@material-ui/core/AppBar";
export default function Header() {
return (
<AppBar>
<h2>Hello</h2>
</AppBar>
)
}
Run Code Online (Sandbox Code Playgroud)
我试过将 ThemeProvider 放在不同的组件中,但我的 h2 仍然呈现为 Times。如果有人能发现问题,那就太好了。谢谢
wow*_*ndy 12
MUI V5您需要导入ThemeProviderand createThemefrom@mui/material/styles而不是@mui/styles.
import * as React from 'react';
import ReactDOM from 'react-dom';
import {red} from '@mui/material/colors';
import { ThemeProvider, createTheme } from '@mui/material/styles';
const theme = createTheme({
palette: {
primary: {
main: red[500],
},
},
});
function App() {
return <ThemeProvider theme={theme}>...</ThemeProvider>;
}
ReactDOM.render(<App />, document.querySelector('#app'));
Run Code Online (Sandbox Code Playgroud)
查看material-ui的文档,发现你从library导入了一些东西是错误的。就像文档状态一样 -
import { useTheme } from '@material-ui/core/styles';
import { createMuiTheme } from '@material-ui/core/styles';
Run Code Online (Sandbox Code Playgroud)
基本上可以是
import { useTheme, createMuiTheme } from '@material-ui/core/styles';
Run Code Online (Sandbox Code Playgroud)
ThemeProvider 也一样
import { ThemeProvider } from '@material-ui/core/styles';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7210 次 |
| 最近记录: |