React Coding Challenges

Show and Hide Details

easyfree
#State Management

Counter Component

easyfree
#State Management

Character Counter

easyfree
#Forms and Inputs

Greeting Form

easyfree
#Forms and Inputs

Live Search Filter

easyfree
#Forms and Inputs

Todo List Manager

mediumfree
#State Management

Controlled Input Field

easy
#Forms and Inputs#Forms#State Management

Render a List with Keys

easy
#Render Prop Patterns#Component Patterns

Custom useToggle Hook

easy
#Hooks

Change the Box Color

easy
#Events#State Management

Event Delegation

easy
#Events

Component Composition: Children and Slots

easy
#Component Patterns

Refactor to Props

easy
#Events#Component Patterns#State Management

Build a Reusable Input Component

easy
#Component Composition

Build a Reusable Button Component

easy
#Component Composition

Build a Reusable Drawer Component

easy
#Component Composition

Image Carousel

easy
#State Management#Component Composition

Progress Bar Component

easy
#Component Composition#State Management#Forms and Inputs

Theme Switcher with CSS Variables

easy
#State Management#Hooks

Checkbox Group

easy
#Forms and Inputs

Reveal on Hover

easy
#Events

Add Items to a List

easy
#State Management

Remove Items from a List

easy
#State Management

Lift State Up

easy
#Component Patterns

Sync the Page Title

easy
#Effect and Lifecycle

Fetch Data on Mount

medium
#Effect and Lifecycle#Data Fetching

Memoize a Slow Calculation

medium
#Hooks#Performance

Form Validation

medium
#Forms and Inputs#Forms

Countdown Timer

medium
#Effect and Lifecycle

Shopping Cart State

medium
#State Management

useAsync Hook

medium
#Hooks#Data Fetching

Render Props: Mouse Tracker

medium
#Component Patterns#State Management

usePrevious Hook

medium
#Hooks

Shopping Cart with useReducer

medium
#State Management#Hooks

Paginated Data Fetching

medium
#Data Fetching

Update Nested State

medium
#State Management

Undo and Redo History

medium
#State Management

Theme Context

medium
#Context#State Management

Error Boundary with Fallback UI

medium
#Error Handling

Handling API Errors

medium
#Data Fetching#Error Handling

Cache Management

medium
#Data Fetching#Performance

Focus an Input with a Ref

medium
#Hooks#Events

Share State with Context

medium
#State Management#Context#Hooks

Dynamic Form Fields with Unique IDs

medium
#State Management#Forms and Inputs

Multi-step Sign-up Form

medium
#State Management#Component Patterns#Forms and Inputs

Controlled RadioGroup

medium
#Component Composition

Build a Reusable Tabs Component

medium
#Component Composition

Build a Tic-Tac-Toe Game

medium
#State Management

Canvas Sketch Pad

medium
#Component Composition#Events

Temperature Converter

medium
#Forms and Inputs#State Management

Prevent Unnecessary Re-renders

medium
#Performance#State Management

Build a Clock

medium
#State Management#Effect and Lifecycle

Multiple Contexts

medium
#State Management#Context

Persist State with useLocalStorage

medium
#Hooks

Debounce a Search Input with useDebounce

medium
#Hooks

Expose focus() and clear() Through a Ref

medium
#Component Composition

Optimistic UI Update with Rollback

medium
#State Management

Star Rating

medium
#Component Composition

Multi-step Form with Branching Logic

hard
#Forms and Inputs#State Management

useInterval Hook

hard
#Hooks

Custom Hooks on a Shared Store

hard
#Hooks#State Management#Context

Stable Callbacks for Memoized Rows

hard
#Hooks#Performance#State Management

Connect Four Game

hard
#Events#State Management

Fix the Data Fetching Race Condition

hard
#Data Fetching

Modal Dialog with a Portal

hard
#Component Composition

Infinite Scroll with IntersectionObserver

hard
#Data Fetching

Fix a Laggy Search Filter

hard
#Performance

Compound Components: Accordion

hard
#Component Patterns

Autocomplete / Typeahead Input

very hard
#Events#Forms and Inputs#Data Fetching