我有一个React应用程序,现在有两条路线(主登陆页面和职业页面(。
我制作了一个可重用的JumbotronResponsive
组件,我将单个组件呈现为JumbotronLanding
组件下的子组件(用于登录页面(和JumbotronCareer
组件下的子组件(用于职业页面(。
喜欢这个
import React, { PureComponent } from 'react'
import { ResponsiveJumbotron } from '../../HOC';
import './jumbotronCareer.css';
export default class JumbotronCareer extends PureComponent {
render() {
return (
<>
<ResponsiveJumbotron/>
</>
)
}
}
而这个
import React, { PureComponent } from 'react';
import { ResponsiveJumbotron } from '../../HOC';
import './jumbotronLanding.css';
export default class JumbotronLanding extends PureComponent {
render() {
return (
<>
<ResponsiveJumbotron/>
</>
)
}
}
如您所见,这些父组件具有样式,我想在其中设置一些ResponsiveJumbotron
部件的样式。
例如,我希望登陆页面中巨型屏幕的字体大小70px
,职业页面中的字体大小45px
。
但是当我在路由之间切换时,这些样式就像在一个 CSS 文件中一样。
问题是"如何将它们彼此分开?
您可以添加一个 className 属性,并在 Responsive Jumbotron 中像
const ResponsiveJumbotron = props => <div className={props.className} />;
[...]
export default class JumbotronLanding extends PureComponent {
render() {
return (
<>
<ResponsiveJumbotron className="landing-page" />
</>
)
}
}
您可以在样式表中使用该 CSS 类