Explore Library
ReactHooks

89 items

1

useEffect Infinite Loop

Code Quiz
2

useEffect for Side Effects

Quiz
3

Counter with useState

Code Quiz
4

useState Basics

Quiz
5

useMemo, useCallback & Custom Hooks

Slides / Video
6

useState & useEffect Fundamentals

Slides / Video
7

useMemo, useCallback & Custom Hooks

Flashcard
8

useState & useEffect Fundamentals

Flashcard
9

Lifecycle & Re-rendering with Hooks

Slides / Video
10

When Do Components Re-render?

Quiz
11

Re-rendering Basics with Hooks

Flashcard
12

useEffect for Side Effects

Slides / Video
13

useMemo for Memoizing Values

Slides / Video
14

useReducer for Complex State Logic

Slides / Video
15

useReducer Mutation Bug

Code Quiz
16

useState Basic Update Bug

Code Quiz
17

Conditional Hook Call Pitfalls

Quiz
18

useReducer Hook

Quiz
19

useState Hook Basics

Quiz
20

Custom Hooks Creation

Quiz
21

Effect Run Timing

Quiz
22

useEffect Dependency Array

Quiz
23

Hooks Only in Function Components

Quiz
24

useEffect Cleanup Function

Quiz
25

useCallback Memoization

Quiz
26

useLayoutEffect vs useEffect

Quiz
27

Functional State Updates

Quiz
28

useRef for Mutable Values

Quiz
29

Rules of Hooks Ordering

Quiz
30

Stale Closures in Hooks

Quiz
31

useRef for DOM References

Quiz
32

useMemo Memoization

Quiz
33

Lazy Initial State

Quiz
34

State Batching in Event Handlers

Quiz
35

useEffect Basics

Quiz
36

useContext Hook

Quiz
37

useRef for Mutable Values and DOM Access

Slides / Video
38

useContext for Consuming Context

Slides / Video
39

useEffect Cleanup Functions

Slides / Video
40

useEffect Dependency Array Behavior

Slides / Video
41

Functional Updates with useState

Slides / Video
42

useState for Local Component State

Slides / Video
43

What Hooks Are and Rules of Hooks

Slides / Video
44

useState vs useReducer

Slides / Video
45

Object State Update

Code Quiz
46

Immutable Array Update

Code Quiz
47

State Batching

Code Quiz
48

Custom Hook

Code Quiz
49

useCallback Usage

Code Quiz
50

useMemo Dependencies

Code Quiz
51

useRef Value

Code Quiz
52

Consuming Context

Code Quiz
53

Rules of Hooks

Code Quiz
54

Stale Closure

Code Quiz
55

Mount-Only Effect

Code Quiz
56

Effect Cleanup

Code Quiz
57

Dependency Array

Code Quiz
58

Basic Effect Execution

Code Quiz
59

Lazy Initial State

Code Quiz
60

Functional Updates

Code Quiz
61

useLayoutEffect Timing

Code Quiz
62

Previous Value Ref

Code Quiz
63

Dependencies and Stale Closures

Slides / Video
64

Custom Hooks for Reusable Logic

Slides / Video
65

useCallback for Memoizing Functions

Slides / Video
66

Stale Closures

Flashcard
67

useState Basics

Flashcard
68

Custom Hooks vs HOCs

Flashcard
69

useMemo vs useCallback

Flashcard
70

useCallback Basics

Flashcard
71

useMemo Basics

Flashcard
72

useRef vs State

Flashcard
73

useReducer vs useState

Flashcard
74

useReducer Hook

Flashcard
75

useEffect Basics

Flashcard
76

Functional State Updates

Flashcard
77

Rules of Hooks

Flashcard
78

useImperativeHandle

Flashcard
79

Custom Hooks

Flashcard
80

Effect Run Timing

Flashcard
81

useEffect Dependencies

Flashcard
82

Why Hooks Replaced Lifecycles

Flashcard
83

useLayoutEffect vs useEffect

Flashcard
84

useEffect Cleanup

Flashcard
85

Lazy Initial State

Flashcard
86

Batching State Updates

Flashcard
87

Preserving Hook Order

Flashcard
88

useRef Uses

Flashcard
89

useContext Hook

Flashcard
Code QuizAdvanced

useEffect Infinite Loop

Spot why this data-fetching effect runs endlessly and re-renders forever.

Codejavascript
function UserProfile({ userId }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    fetch(`/api/users/${userId}`)
      .then((res) => res.json())
      .then((data) => setUser(data));
  });

  return <div>{user ? user.name : 'Loading...'}</div>;
}

What is the bug in this useEffect code?