AgentSkillsCN

bundle_defer_third_party

从Vercel导入技能:bundle_defer_third_party

SKILL.md
--- frontmatter
description: Imported skill bundle_defer_third_party from vercel
name: bundle_defer_third_party
signature: 3719fb47b191e8db4fe22686ec88448ad5af9e6838585425abbe103d0b642e37
source: /a0/tmp/skills_research/vercel/skills/react-best-practices/rules/bundle-defer-third-party.md

title: Defer Non-Critical Third-Party Libraries impact: MEDIUM impactDescription: loads after hydration tags: 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):

tsx
import { Analytics } from '@vercel/analytics/react'

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        {children}
        <Analytics />
      </body>
    </html>
  )
}

Correct (loads after hydration):

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