TanStack / TanStack/router

TanStack Start and React 19 Metadata Tags

Open
#3,050 11 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

information needed start
Dominant language
TypeScript
Stars
15.1k
Forks
1.9k
Avg merge
1d 20h
Merged PRs (30d)
143

Description

Which project does this relate to?

Start

Describe the bug

The issue is simple. I am attempting to use React 19's metadata tags to manage my metadata, but each components is being rendered twice on the DOM, even after adding a key to it. This is in Development and Production.

Image

I am sure this is SSR issue. Also If someone someone has a solution to dynamically render head meta elements using the router directly that would be great, (I would like the loader context to fetch the updated context not the initial state). My current solution is straight up DOM manipulation.

Your Example Website or App

edit: tanstack-react19 Repo

Steps to Reproduce the Bug or Issue

Use any tag inside a react component.

Image
Expected behavior

Rendering a single tag in the head

Screenshots or Videos

No response

Platform
  • OS: macOS / iOS
  • Browser: Chrome and Safari
Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked tanstack-react19 reproduction and reproduce the duplicate rendering in both development and production. Compare the rendered head with the expected single tag, then trace the Start SSR path and router metadata handling. Done means React 19 metadata tags render once and dynamic metadata can be validated against the reported case.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.