-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
The content/children script tags of the head (scripts[].children) are lost from the HTML after hydration #7104
Copy link
Copy link
Open
Description
Which project does this relate to?
Router
Describe the bug
export const Route = createFileRoute('/test')({
component: RouteComponent,
head: () => ({
scripts: [
{
async: true,
src: `https://www.googletagmanager.com/gtag/js?id=ID`,
},
{
// this is missing on hydrated HTML
children: `window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'ID');`,
},
],
}),
});
Children code in scripts (<script>window.dataLayer...</script>) disappears after hydration on first page visit, reappears if navigating first to another page.
Your Example Website or App
https://stackblitz.com/edit/github-zpekad3w-lxs8xvjn?file=src%2Froutes%2Ftest%2Froute.tsx
Steps to Reproduce the Bug or Issue
- Build the attached StackBlitz site (
npm run build) node .output/server/index.mjs- navigate to the test page
- Refresh the page and check the HTML element in the console
<script>window.dataLayer...</script>is missing.
Expected behavior
<script>window.dataLayer...</script> should not disappear after hydration
Screenshots or Videos
20260405-1621-11.0158618.mp4
Platform
- Router / Start Version: 1.168.10 / 1.167.16
- OS: Windows (WSL 2)
- Browser: Chrome
- Browser Version: 146.0.7680.178
- Bundler: vite
- Bundler Version: 8.0.3
Additional context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels