我有一个Header组件,它被用于布局组件上,而布局组件是用来构造Gatsby网站上的页面的。有一个特定的页面,我需要给我的页眉一个不同的背景颜色。问题是该页面上没有页眉组件,只有布局组件。我最终通过给页眉和布局添加一个背景色道具来解决这个问题。而且我是先把颜色传下来给布局,布局再把颜色传给header......这是最好的方法吗?感觉不是很好。
你可以简单地使用 react-helmet
来为你的正文添加一个类,只在那个特定的页面上。比方说 "dark-header",类似于。
<Helmet>
<body class='dark-header' />
</Helmet>
然后,在你的css代码中,你可以做这样的事情:
.header { background-color: #FFFFFF; }
body.dark-header {
.header { background-color: #000000; }
}