Skip to content

Commit c6eb1cf

Browse files
committed
useeffect hook example 3
1 parent b83404a commit c6eb1cf

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/**
2+
* Example: DependencyArray
3+
*
4+
* Explanation:
5+
* - Demonstrates effect behavior with different dependency arrays.
6+
* - [] → run once (on mount).
7+
* - [count] → run on mount + when count changes.
8+
* - No deps → run after every render.
9+
*/
10+
import { useEffect, useState } from "react";
11+
12+
export default function DependencyArray() {
13+
const [count, setCount] = useState(0);
14+
15+
useEffect(() => console.log("No deps: runs every render"));
16+
useEffect(() => console.log("Empty deps: runs once"), []);
17+
useEffect(() => console.log("Deps: runs on count change →", count), [count]);
18+
19+
return (
20+
<div>
21+
<p>count = {count}</p>
22+
<button onClick={() => setCount(c => c + 1)}>+1</button>
23+
</div>
24+
);
25+
}

src/hooks/useEffect/useEffect.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import BasicLog from "./examples/01_BasicLog";
1010
import EffectCleanup from "./examples/02_EffectCleanup";
11-
// import DependencyArray from "./examples/DependencyArray";
11+
import DependencyArray from "./examples/03_DependencyArray";
1212
// import WindowResizeListener from "./examples/WindowResizeListener";
1313
// import FetchData from "./examples/FetchData";
1414
// import MultipleEffects from "./examples/MultipleEffects";
@@ -47,9 +47,9 @@ export default function UseEffectShowcase() {
4747
<EffectCleanup />
4848
</Demo>
4949

50-
{/* <Demo title="3) DependencyArray — [] vs deps vs no deps">
50+
<Demo title="3) DependencyArray — [] vs deps vs no deps">
5151
<DependencyArray />
52-
</Demo> */}
52+
</Demo>
5353

5454
{/* <Demo title="4) WindowResizeListener — global event subscription">
5555
<WindowResizeListener />

0 commit comments

Comments
 (0)