π Next.js Notes (Simple Format)
π 1. Server & Client Components
πΉ Default Behavior
Next.js me:
page.js/layout.jsβ Server Component by default
Matlab:
Code server pe run hota hai
Browser ko optimized HTML milta hai
π₯οΈ 2. Server Component kya hota hai?
π Server pe run hota hai
β Use kab kare?
Database se data fetch
API call
Secret key use karna (safe)
Performance improve karna
πΉ Example
// Server Component
export default async function Page() {
const data = await fetch("api/data")
return <div>{data.title}</div>
}π» 3. Client Component kya hota hai?
π Browser pe run hota hai
β Use kab kare?
Button click (onClick)
Form handling
useState, useEffect
localStorage, window
πΉ Kaise banaye?
π Top me likho:
"use client"πΉ Example
"use client"
import { useState } from "react"
export default function Counter() {
const [count, setCount] = useState(0)
return (
<button onClick={() => setCount(count + 1)}>
{count}
</button>
)
}π₯ 4. Server vs Client (Quick Difference)
FeatureServer ComponentClient ComponentRun kaha hotaServerBrowseruseStateββ useEffectββ API fetchβ β (prefer server)SecurityHighLow
π 5. Server β Client Data Passing
π Props se data bhej sakte ho
// Server Component
import LikeButton from "./LikeButton"
export default async function Page() {
const post = { likes: 10 }
return <LikeButton likes={post.likes} />
}// Client Component
"use client"
export default function LikeButton({ likes }) {
return <button>{likes} Likes</button>
}β‘ 6. "use client" Important Rule
π Agar file me "use client" likh diya:
Us file ke saare child components bhi client ban jate hain
π Isliye:
Sirf interactive component me use karo
Pure app me mat lagao (performance down hoga)
π§© 7. Mixing Server + Client (Best Practice)
// Server Component
import Search from "./Search" // client
import Logo from "./Logo" // server
export default function Layout() {
return (
<>
<Logo />
<Search />
</>
)
}π Yeh best pattern hai
π Static = server
π Interactive = client
π 8. Hydration kya hota hai?
π Simple:
Server β HTML bhejta ha
Client β usko interactive banata hai
π Example:
Pehle button dikhega
Baad me click kaam karega
π¦ 9. Package Manager (npm use karo)
πΉ Project create
npx create-next-app@latest my-app
cd my-app
npm run devπΉ Package install
npm install axios
npm install react-iconsπΉ Server-only package (optional)
npm install server-onlyπ Use when:
API keys hide karni ho
π 10. Important Security Rule
π .env variables:
NEXT_PUBLIC_β client me visible
normal variable β server only
API_KEY=secret β client me nahi jayega
NEXT_PUBLIC_URL=abc β
client me jayegaπ§ 11. Easy Summary (Interview Ready)
Next.js me 2 type components:Server (default)
Client ("use client")
Server:
fast + secure
Client:
interactive UI
Best practice:
Mixing both
π₯ Short Revision (1 min)
π Server = data + fast
π Client = UI + click
π "use client" = browser code
π Props = data pass
π npm = package manager