Explore Library
ReactHooks

115 items

1

Data Fetching Race Condition

Code Quiz
2

Effect Race Conditions & Cleanup

Quiz
3

Custom Hook Filter Never Updates

Code Quiz
4

Why Hook Call Order Matters

Quiz
5

Hooks Internals & Rules

Slides / Video
6

Why Hooks Depend on Call Order

Flashcard
7

Stale Closure in useCallback

Code Quiz
8

useMemo vs useCallback

Quiz
9

Debounce Hook Stale Closure

Code Quiz
10

Stable Values with useRef vs useMemo

Quiz
11

Interval Counter Stuck at One

Code Quiz
12

useEffect Cleanup Timing & Dependencies

Quiz
13

Core Hooks & Rules of Hooks

Slides / Video
14

Core Hooks & Rules of Hooks

Flashcard
15

Memoization, Refs & Custom Hooks

Slides / Video
16

Memoization vs Refs in Custom Hooks

Flashcard
17

Custom Hook Rules Violation

Code Quiz
18

Custom Hooks & Rules of Hooks

Quiz
19

useEffect Infinite Loop Bug

Code Quiz
20

useEffect Dependency Array Behavior

Quiz
21

Updating State on Click

Code Quiz
22

Rules of Hooks

Quiz
23

useState & useEffect Basics

Slides / Video
24

useState & useEffect Basics

Flashcard
25

useState, useEffect & Rules of Hooks

Slides / Video
26

Hooks Essentials

Flashcard
27

useEffect Infinite Loop

Code Quiz
28

useEffect for Side Effects

Quiz
29

Counter with useState

Code Quiz
30

useState Basics

Quiz
31

useMemo, useCallback & Custom Hooks

Slides / Video
32

useState & useEffect Fundamentals

Slides / Video
33

useMemo, useCallback & Custom Hooks

Flashcard
34

useState & useEffect Fundamentals

Flashcard
35

Lifecycle & Re-rendering with Hooks

Slides / Video
36

When Do Components Re-render?

Quiz
37

Re-rendering Basics with Hooks

Flashcard
38

useEffect for Side Effects

Slides / Video
39

useMemo for Memoizing Values

Slides / Video
40

useReducer for Complex State Logic

Slides / Video
41

useReducer Mutation Bug

Code Quiz
42

useState Basic Update Bug

Code Quiz
43

useState Hook Basics

Quiz
44

useMemo Memoization

Quiz
45

useRef for Mutable Values

Quiz
46

Functional State Updates

Quiz
47

Rules of Hooks Ordering

Quiz
48

useEffect Dependency Array

Quiz
49

Hooks Only in Function Components

Quiz
50

useEffect Cleanup Function

Quiz
51

useCallback Memoization

Quiz
52

useLayoutEffect vs useEffect

Quiz
53

Stale Closures in Hooks

Quiz
54

useRef for DOM References

Quiz
55

Lazy Initial State

Quiz
56

useEffect Basics

Quiz
57

useReducer Hook

Quiz
58

State Batching in Event Handlers

Quiz
59

useContext Hook

Quiz
60

Conditional Hook Call Pitfalls

Quiz
61

Custom Hooks Creation

Quiz
62

Effect Run Timing

Quiz
63

useRef for Mutable Values and DOM Access

Slides / Video
64

useContext for Consuming Context

Slides / Video
65

useEffect Cleanup Functions

Slides / Video
66

useEffect Dependency Array Behavior

Slides / Video
67

Functional Updates with useState

Slides / Video
68

useState for Local Component State

Slides / Video
69

What Hooks Are and Rules of Hooks

Slides / Video
70

useState vs useReducer

Slides / Video
71

Effect Cleanup

Code Quiz
72

Previous Value Ref

Code Quiz
73

Functional Updates

Code Quiz
74

Lazy Initial State

Code Quiz
75

Mount-Only Effect

Code Quiz
76

Stale Closure

Code Quiz
77

Rules of Hooks

Code Quiz
78

Consuming Context

Code Quiz
79

useRef Value

Code Quiz
80

useMemo Dependencies

Code Quiz
81

useCallback Usage

Code Quiz
82

Custom Hook

Code Quiz
83

State Batching

Code Quiz
84

Immutable Array Update

Code Quiz
85

Object State Update

Code Quiz
86

useLayoutEffect Timing

Code Quiz
87

Basic Effect Execution

Code Quiz
88

Dependency Array

Code Quiz
89

Dependencies and Stale Closures

Slides / Video
90

Custom Hooks for Reusable Logic

Slides / Video
91

useCallback for Memoizing Functions

Slides / Video
92

Why Hooks Replaced Lifecycles

Flashcard
93

useLayoutEffect vs useEffect

Flashcard
94

Batching State Updates

Flashcard
95

Preserving Hook Order

Flashcard
96

useEffect Cleanup

Flashcard
97

useRef Uses

Flashcard
98

useContext Hook

Flashcard
99

useState Basics

Flashcard
100

Effect Run Timing

Flashcard
101

useEffect Dependencies

Flashcard
102

Stale Closures

Flashcard
103

Custom Hooks vs HOCs

Flashcard
104

useMemo vs useCallback

Flashcard
105

useCallback Basics

Flashcard
106

useMemo Basics

Flashcard
107

useRef vs State

Flashcard
108

useReducer vs useState

Flashcard
109

useReducer Hook

Flashcard
110

useEffect Basics

Flashcard
111

Functional State Updates

Flashcard
112

Rules of Hooks

Flashcard
113

useImperativeHandle

Flashcard
114

Custom Hooks

Flashcard
115

Lazy Initial State

Flashcard
Code Quiz

Data Fetching Race Condition

A custom fetch hook drops its cleanup guard, letting stale async responses overwrite fresh ones during rapid prop changes.

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

  useEffect(() => {
    let cancelled = false;

    async function load() {
      const res = await fetch(`/api/users/${userId}`);
      const data = await res.json();
      setUser(data);
    }

    load();

    return () => {
      cancelled = true;
    };
  }, [userId]);

  return user;
}

This hook can display the wrong user after rapid userId changes. What is the bug?