Files
aiworker/.opencode/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md
Hector Ros dcaaef1011 Unify past-sessions naming format
Format: YYYY-MM-DD-description.md
- 2026-01-19-infrastructure-deployment.md
- 2026-01-19-backend-api-implementation.md (in progress)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-01-20 01:07:17 +01:00

920 B

title, impact, impactDescription, tags
title impact impactDescription tags
Defer Non-Critical Third-Party Libraries MEDIUM loads after hydration bundle, third-party, analytics, defer

Defer Non-Critical Third-Party Libraries

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>
  )
}