На самом деле это легко. Gatsby поставляется с удобным плагином под названием реагирующий шлем , убедитесь, что он есть в вашем package.json
, если нет, проверьте Документы для установки.
Все, что вам нужно сделать, это импортировать helmet
внутри целевой страницы , например portfolio.js
import { Helmet } from 'react-helmet'
После компонента <SEO>
добавьте компонент Helmet
и определите Класс CSS в элементе bodyAttributes
выглядит следующим образом:
<Helmet bodyAttributes={{ class: 'portfolio-page' }} />
Это добавит класс portfolio-page
к тегу страницы body
, и, таким образом, вы можете настроить таргетинг на этот класс, как при обычном CSS классы.
.portfolio-page .your-navigation {
background-color: black;
}
Вот пример codeSandbox для живого примера. Проверьте page-2.js
и components > layout.css