在Gatsby.js中,组件的特定样式仅在特定页面上

时间:2020-05-17 22:58:00

标签: components gatsby

我有一个Header组件,该组件用于Layout组件,该组件用于构造Gatsby网站上的页面。在特定页面上,我需要给标题提供不同的背景色。问题在于该页面上没有标题组件,只有布局组件。我最后通过在标题和布局中添加背景色道具来完成这项工作。我首先将颜色向下传递到布局,然后将其向下传递到页眉...这是最好的方法吗?感觉不太好。

1 个答案:

答案 0 :(得分:1)

您可以仅使用react-helmet在该特定页面上将一个类添加到您的正文中。我们说“黑头”,像这样:

<Helmet>
    <body class='dark-header' />
</Helmet>

然后,在您的CSS代码中,您可以执行以下操作:

.header { background-color: #FFFFFF; }

body.dark-header {
    .header { background-color: #000000; }
}