【发布时间】:2020-07-05 19:24:35
【问题描述】:
我正在使用 material-ui 创建一个简单的反应应用程序。我正在使用 MuiThemeProvider 和 ThemeProvider 作为主题。
App.js
import React from 'react';
import { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';
import { ThemeProvider } from '@material-ui/styles';
import { CssBaseline } from '@material-ui/core';
import { Topic } from './dashboard/components/drawer/topic.js'
const theme = createMuiTheme({
palette : {
type : 'dark',
background : {
default : "#000000"
},
secondary : {
main : '#E19A4C'
}
}
})
function App() {
return (
< MuiThemeProvider theme={theme}>
<ThemeProvider theme={theme}>
<CssBaseline />
<div className="App">
<Dashboard />
<Topic />
</div>
</ThemeProvider>
</ MuiThemeProvider>
);
}
export default App;
主题.js
import React, { Component } from 'react';
import { Typography, makeStyles, Box, Paper } from '@material-ui/core';
const style = makeStyles(theme => ({
paper : {
background : '#ff00ff'
}
}))
export const Topic = (props) => {
const classes = style()
return (
<div>
<Paper className={classes.box}>
<Typography variant="h6" component="h6" gutterBottom>
{props.data}
</Typography>
</Paper>
</div>
)
}
export default Topic
我收到错误Uncaught ReferenceError: theme is not defined
我在 makeStyles 中尝试过 { withTheme : true } 但它不起作用。
将主题作为道具发送有效,但不推荐。 有人可以帮忙吗?
【问题讨论】:
-
如果您没有收到通知,我会用额外的信息更新我的答案。看看吧。
标签: javascript reactjs material-ui react-hooks