Setting the file. One moment.
Skill 03 · Vercel React Best Practices
Subchapter 3.19
rules/bundle-defer-third-party.mdMarkdown920 BView on GitHub
Analytics, logging, and error tracking don’t block user interaction. Load them after hydration.
Incorrect (blocks initial bundle):
import { Analytics } from '@vercel/analytics/react'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Analytics />
</body>
</html>
)
}Correct (loads after hydration):
import dynamic from 'next/dynamic'
const Analytics = dynamic(
() => import('@vercel/analytics/react').then(m => m.Analytics),
{ ssr: false }
)
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Analytics />
</body>
</html>
)
}