【发布时间】:2018-03-05 16:29:05
【问题描述】:
我在遵循有关如何使其工作的文档时遇到了一些麻烦
我有一个创建了一些样式的组件,在大多数情况下,所有这些样式都将应用于呈现该组件的任何位置,但有时取决于应用程序被路由到的页面,我会想要更改整体高度这些页面上的组件。我想我可以通过传递某种新的高度道具来遵循更以主题为中心的方法来做到这一点。我如何让它与我当前的设置一起使用?
样式文件
const styles = theme => ({
root: {
backgroundSize: 'cover',
padding: '25px 20px',
boxSizing: 'border-box',
backgroundPosition: '50% 0',
backgroundColor: 'rgba(40,70,94,.7)',
backgroundBlendMode: 'multiply',
...theme.root
}
});
export default styles;
组件文件
import React from 'react';
import styles from './EventTop.styles';
import injectSheet, { ThemeProvider } from 'react-jss';
const EventTop = (props) => (
<ThemeProvider theme={props.theme}>
<aside className={props.classes.root} style={{ backgroundImage: `url(${props.event.event_logo})` }}>
<div className="wrapper">
<div className="event-info">
<span className="event-time">
7:00 PM
</span>
<span className="event-date">
27 Jun 2020
</span>
<span className="event-end-time">
Ends at 10:00 PM
</span>
<span className="event-title">
Bidr Gala
</span>
<span className="event-attire">
Cocktail Attire
</span>
</div>
</div>
</aside>
</ThemeProvider>
);
export default injectSheet(styles)(EventTop);
然后当我渲染它时,我画了这样的东西
<EventTop event={this.props.events.currentEvent} theme={{ height: 'calc(100vh - 64px)' }}/>
但是当我尝试通过控制台注销主题时,我看不到主题进入样式生成器。
我安装了Material UI,整个应用程序都包含在MuiThemeProvider中
<Provider store={store}>
<MuiThemeProvider theme={theme}>
<App>
<Reboot />
<AppRouter />
</App>
</MuiThemeProvider>
</Provider>
这是我实际看到的主题主题,而不是我自己的主题。
【问题讨论】:
标签: reactjs material-ui jss