Skip to content
intermediate

Challenge: Build a Debounced Search Component

Implement this from the stub. Hidden tests grade the behaviour you write, not the comments you leave.

Challenge: Debounced Search Component

import { useState, useEffect, useCallback, useRef } from 'react';

interface SearchResult {
  id: string;
  title: string;
}

interface DebouncedSearchProps {
  onSearch: (query: string) => Promise<SearchResult[]>;
  placeholder?: string;
  debounceMs?: number;
}

// Your implementation here
challenge — implement from scratchCtrl+↵ submits · Ctrl+Shift+↵ runsstarter code