-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuseState-useEffect.ts
More file actions
58 lines (43 loc) · 1.68 KB
/
useState-useEffect.ts
File metadata and controls
58 lines (43 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// useState-useEffect.ts
/*
React Hooks in Next.js 15 (App Router) — `useState` & `useEffect`
1️⃣ What is `useState`?
- Hook used to create and manage local component state.
- Useful for input values, toggles, counters, etc.
Example:
const [count, setCount] = useState(0);
setCount(count + 1);
2️⃣ What is `useEffect`?
- Hook for side effects: fetching data, subscriptions, timers, etc.
- Runs after render. Can have dependencies to control when it runs.
Example:
useEffect(() => {
console.log("Component mounted!");
}, []);
3️⃣ Important Notes:
- These hooks work only in Client Components.
- So you MUST add `"use client";` at the top of your component file.
4️⃣ Common use cases:
- `useState`: Form inputs, toggles, tabs
- `useEffect`: Fetch data, sync with localStorage, timers, etc.
*/
// ---------------CODE EXAMPLE--------------- //
// "use client";
// import { useState, useEffect } from "react";
// export default function CounterComponent() {
// const [count, setCount] = useState(0);
// useEffect(() => {
// console.log("Component mounted or count changed:", count);
// }, [count]); // 👈 runs when count changes
// return (
// <div>
// <p>Count: {count}</p>
// <button onClick={() => setCount((prev) => prev + 1)}>Increment</button>
// </div>
// );
// }
// ---------------CODE EXAMPLE ENDS--------------- //
// ✅ Summary:
// - `useState()` lets you store dynamic data inside functional components.
// - `useEffect()` lets you handle side-effects like API calls or subscriptions.
// - Always ensure `"use client";` is present when using these hooks in App Router.