docs: Document error cases with head/body-tags (#56412)
Co-authored-by: Lee Robinson <me@leerob.io>
This commit is contained in:
parent
0ea127c642
commit
a95a7d684f
1 changed files with 11 additions and 1 deletions
|
@ -30,6 +30,8 @@ function IndexPage() {
|
|||
export default IndexPage
|
||||
```
|
||||
|
||||
## Avoid duplicated tags
|
||||
|
||||
To avoid duplicate tags in your `head` you can use the `key` property, which will make sure the tag is only rendered once, as in the following example:
|
||||
|
||||
```jsx
|
||||
|
@ -57,7 +59,15 @@ In this case only the second `<meta property="og:title" />` is rendered. `meta`
|
|||
|
||||
> The contents of `head` get cleared upon unmounting the component, so make sure each page completely defines what it needs in `head`, without making assumptions about what other pages added.
|
||||
|
||||
## Use minimal nesting
|
||||
|
||||
`title`, `meta` or any other elements (e.g. `script`) need to be contained as **direct** children of the `Head` element,
|
||||
or wrapped into maximum one level of `<React.Fragment>` or arrays—otherwise the tags won't be correctly picked up on client-side navigations.
|
||||
|
||||
> We recommend using [next/script](/docs/pages/building-your-application/optimizing/scripts) in your component instead of manually creating a `<script>` in `next/head`.
|
||||
## Use `next/script` for scripts
|
||||
|
||||
We recommend using [`next/script`](/docs/pages/building-your-application/optimizing/scripts) in your component instead of manually creating a `<script>` in `next/head`.
|
||||
|
||||
## No `html` or `body` tags
|
||||
|
||||
You **cannot** use `<Head>` to set attributes on `<html>` or `<body>` tags. This will result in an `next-head-count is missing` error. `next/head` can only handle tags inside the HTML `<head>` tag.
|
||||
|
|
Loading…
Reference in a new issue