React answers: “How do I build UI from components and state?” Next.js answers: “How do I ship a multi-page product with URLs, SEO, server data, and a production build?”
When React alone is enough
- Internal admin tools behind login with no SEO needs
- Embedded widgets mounted into non-React pages
- Teams with strong opinions on custom bundler + router stacks
- React Native mobile apps (Next.js is web-focused)
When Next.js earns its place
- Marketing sites and docs that need fast first paint and metadata
- E-commerce and dashboards mixing public and authenticated routes
- Products where data should load on the server close to the database
- Teams wanting one repo for UI + lightweight API routes
Trade-offs
Next.js adds framework concepts (server vs client boundaries, caching semantics, deployment constraints). You gain speed of delivery and performance defaults. Neither choice is wrong—match scope, team, and hosting.
Important interview questions and answers
- Q: Can you use Next.js without the server?
A: Mostly static export exists, but the framework shines with server rendering and RSC—using it purely as a client SPA underuses its strengths. - Q: Does Next.js replace state management libraries?
A: No—URL state, server cache, and React state still apply; libraries like Zustand or TanStack Query remain valid on the client. - Q: What React knowledge transfers directly?
A: Components, hooks (in Client Components), JSX, props, context—Next.js adds where and when those run.
Self-check
- Give one scenario where you would stay with React + Vite.
- Give one scenario where Next.js is the better default.
Interview prep
- When choose Next.js over React + Vite?
When you need SEO-friendly SSR/SSG, file-based routes, integrated data/cache patterns, and full-stack conventions—not for tiny embedded widgets alone.