Reactjs 如何将自定义主题应用于整个应用程序
我正在尝试将自定义主题应用于我的React应用程序。我已尝试按照上的说明进行操作,并得出以下结论: 这是我的Reactjs 如何将自定义主题应用于整个应用程序,reactjs,material-ui,Reactjs,Material Ui,我正在尝试将自定义主题应用于我的React应用程序。我已尝试按照上的说明进行操作,并得出以下结论: 这是我的index.js,我只是无法通过NavBar/AppBar或任何其他组件获取这些主题更改 import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; import * as serviceWorker from './serviceWorker'; import 'typefac
index.js
,我只是无法通过NavBar
/AppBar
或任何其他组件获取这些主题更改
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import * as serviceWorker from './serviceWorker';
import 'typeface-roboto';
import NavBar from './components/NavBar';
import { createMuiTheme } from '@material-ui/core/styles';
import { ThemeProvider } from '@material-ui/styles';
const theme = createMuiTheme({
palette: {
primary: {
light: '#f44336',
main: 'rgb(23, 105, 170)',
dark: '#000'
},
secondary: {
light: '#f44336',
main: '#f44336',
},
},
typography: {
useNextVariants: true
}
});
ReactDOM.render(
<React.StrictMode>
<ThemeProvider theme={theme}>
<NavBar color="primary" />
//<NavBar /> does not work either
<App />
</ThemeProvider>
</React.StrictMode>,
document.getElementById('root')
);
serviceWorker.unregister();
从“React”导入React;
从“react dom”导入react dom;
从“./App”导入应用程序;
将*作为serviceWorker从“/serviceWorker”导入;
输入‘字体机器人’;
从“./components/NavBar”导入NavBar;
从'@material ui/core/styles'导入{createMuiTheme};
从'@material ui/styles'导入{ThemeProvider};
const theme=createMuiTheme({
调色板:{
主要:{
灯光:“#f44336”,
主要内容:“rgb(23105170)”,
黑暗:“#000”
},
中学:{
灯光:“#f44336”,
主要名称:“#f44336”,
},
},
排版:{
useNextVariants:真
}
});
ReactDOM.render(
//也不行
,
document.getElementById('root'))
);
serviceWorker.unregister();
您的NavBar
组件不是MaterialUI组件,它只是一个React组件
您需要将该颜色作为道具向下传递,然后在导航栏组件的MUI组件中使用它
下面是一个例子:
...
import AppBar from '@material-ui/core/AppBar';
import Button from '@material-ui/core/Button';
const NavBar = ({ color }) => {
...
return (
<AppBar color={color}>
...
<Button color={color} /> // This is an MUI component
...
</AppBar>
)
}
export default NavBar
。。。
从“@material ui/core/AppBar”导入AppBar;
从“@material ui/core/Button”导入按钮;
常量导航栏=({color})=>{
...
返回(
...
//这是一个MUI组件
...
)
}
导出默认导航栏
请显示导航栏的代码。这也将有助于你提供一个复制你的问题。