React Helmet
This reusable React component will manage all of your changes to the document head.
Helmet takes plain HTML tags and outputs plain HTML tags. It's dead simple, and React beginner friendly.
Example
Nested or latter components will override duplicate changes:
outputs:
See below for a full reference guide.
Features
- Supports all valid head tags:
title
,base
,meta
,link
,script
,noscript
, andstyle
tags. - Supports attributes for
body
,html
andtitle
tags. - Supports server-side rendering.
- Nested components override duplicate head changes.
- Duplicate head changes are preserved when specified in the same component (support for tags like "apple-touch-icon").
- Callback for tracking DOM changes.
Compatibility
Helmet 5 is fully backward-compatible with previous Helmet releases, so you can upgrade at any time without fear of breaking changes. We encourage you to update your code to our more semantic API, but please feel free to do so at your own pace.
Installation
Yarn:
npm:
Server Usage
To use on the server, call Helmet.renderStatic()
after ReactDOMServer.renderToString
or ReactDOMServer.renderToStaticMarkup
to get the head data for use in your prerender.
Because this component keeps track of mounted instances, you have to make sure to call renderStatic
on server, or you'll get a memory leak.
This helmet
instance contains the following properties:
base
bodyAttributes
htmlAttributes
link
meta
noscript
script
style
title
Each property contains toComponent()
and toString()
methods. Use whichever is appropriate for your environment. For attributes, use the JSX spread operator on the object returned by toComponent()
. E.g: