6 views
25 Jan 2026
Build a controlled text input that shows the typed value below....
6 views
25 Jan 2026
Create a Layout component that accepts header and footer content as props....
6 views
25 Jan 2026
Create a Box component that merges default styles with a style prop....
6 views
25 Jan 2026
Create a button that becomes disabled while a fake async task is running....
6 views
25 Jan 2026
Create an Alert component that supports success and error styles....
6 views
25 Jan 2026
Render a list where each item outputs two lines using a keyed Fragment....
7 views
25 Jan 2026
Create a Toast that renders at the end of body using createPortal....
5 views
25 Jan 2026
Create a Field component that renders label + input and accepts id/name props....
6 views
25 Jan 2026
Create a tiny router that switches pages using state and buttons....
7 views
25 Jan 2026
Refactor a deep tree to pass only the props needed (no extra props)....
6 views
25 Jan 2026
Add className based on prop without messy string building....
6 views
25 Jan 2026
Create a component that returns null when there is nothing to show....
6 views
25 Jan 2026
Design a Notice component that accepts tone, title, and children content....
6 views
25 Jan 2026
Create a menu button that toggles a list and supports keyboard focus style....
7 views
25 Jan 2026
Create a Spacer component to add vertical space without magic numbers everywhere....
7 views
25 Jan 2026
Create a TwoColumn layout component with left and right props....
8 views
25 Jan 2026
Render user text safely (do not use dangerouslySetInnerHTML)....
8 views
25 Jan 2026
Create a Card component that renders an optional footer when prop is provided....
5 views
25 Jan 2026
Move inline objects outside render to avoid new references each render....
7 views
25 Jan 2026
Build a tooltip that opens on hover and keyboard focus....
6 views
25 Jan 2026
Create a stepper UI that shows current step and completed steps....
7 views
25 Jan 2026
Build a counter with +1, -1, +5, reset buttons....
6 views
25 Jan 2026
Make three filter chips (Easy, Medium, Hard) that can be toggled....
6 views
25 Jan 2026
Create a tiny cart that adds items and shows total quantity....
6 views
25 Jan 2026
Start a timer in useEffect and clean it up on unmount....
6 views
25 Jan 2026
Fetch a fake list and show loading/error/success UI....
6 views
25 Jan 2026
Close a dropdown when clicking outside of it using refs and effects....
8 views
25 Jan 2026
Create an email form that shows an error if input is empty or invalid....
6 views
25 Jan 2026
Show a live password strength hint while user types....
4 views
25 Jan 2026
Create a todo list where you can add items and remove them....
6 views
25 Jan 2026
Use useReducer to manage count and keep a small action history....
7 views
25 Jan 2026
Create a light/dark theme toggle using React context....
6 views
25 Jan 2026
Debounce a search input so it updates results after user stops typing....
7 views
25 Jan 2026
Create a small hook that returns the previous value of a prop/state....
6 views
25 Jan 2026
Create a hook that syncs a string value to localStorage....
8 views
25 Jan 2026
Fetch data and cancel the request using AbortController on cleanup....
7 views
25 Jan 2026
Create a form where user can add multiple links (add/remove rows)....
5 views
25 Jan 2026
Create a checkbox group and show a summary of selected values....
7 views
25 Jan 2026
Create a file input that shows a preview of selected image....
5 views
25 Jan 2026
Refactor a component to move style objects outside and keep render clean....
8 views
25 Jan 2026
Use useMemo to avoid filtering a list on every render unnecessarily....
6 views
25 Jan 2026
Use useCallback to keep a stable function reference for a memoized child....
4 views
25 Jan 2026
Create a like button that updates UI immediately and then confirms....
7 views
25 Jan 2026
Build a cart where you can increase/decrease quantity per item....
6 views
25 Jan 2026
Create a language switcher using context and show translated text....
5 views
25 Jan 2026
Manage pagination state (page, pageSize) using a reducer....
5 views
25 Jan 2026
Update document.title when a piece of state changes....
6 views
25 Jan 2026
Show window width and update it on resize using an effect....
5 views
25 Jan 2026
Create a useInterval hook and use it to increment a number....
6 views
25 Jan 2026
Handle Enter key press to submit a message using document keydown....
6 views
25 Jan 2026
Create a sign-up form that checks password and confirm password match....
6 views
25 Jan 2026
Create a radio group to select a plan and show selected plan....
6 views
25 Jan 2026
Show an error only after user leaves the input (onBlur)....
6 views
25 Jan 2026
Create a form with a reset button that clears all fields....
6 views
25 Jan 2026
Create a table where each row is memoized to avoid extra re-renders....
5 views
25 Jan 2026
Use React.lazy and Suspense to load a heavy section....
6 views
25 Jan 2026
Render a list with stable ids and avoid using index as key....
6 views
25 Jan 2026
Build a 5-star rating component where user can select a rating....
4 views
25 Jan 2026
Create a 3-step wizard and let user go next/back....
5 views
25 Jan 2026
Add items and support undo for the last add action....
6 views
25 Jan 2026
Save a boolean setting in localStorage and restore it on load....
6 views
25 Jan 2026
Create a hook that returns true/false based on a media query....
6 views
25 Jan 2026
Track scrollY and show it on the screen....
9 views
25 Jan 2026
Create a useFetch hook that returns loading/error/data....
6 views
25 Jan 2026
Fix an effect that uses state by including dependencies correctly....
4 views
25 Jan 2026
Create two selects where second options depend on first selection....
7 views
25 Jan 2026
Create a number input with min/max and show an error message....
5 views
25 Jan 2026
Create a textarea with a live character counter and max limit....
5 views
25 Jan 2026
On submit, show a small error summary list at top....
5 views
25 Jan 2026
Split a component state into two smaller states to avoid confusion....
5 views
25 Jan 2026
Use useRef to store a mutable value without re-rendering....
5 views
25 Jan 2026
Compute derived stats from a list and memoize the result....
6 views
25 Jan 2026
Build a toast system where new messages appear and auto-dismiss....
6 views
25 Jan 2026
Build a small cart where you can add items and change quantities....
7 views
25 Jan 2026
Build a list of checkboxes with a Select All control....
5 views
25 Jan 2026
Build an accordion where multiple sections can be open at once....
4 views
25 Jan 2026
Build a Like button that updates instantly, but rolls back on failure....
5 views
25 Jan 2026
Build a card that loads data and shows idle/loading/success/error states....
6 views
25 Jan 2026
Create a ThemeProvider that toggles light/dark and updates styles....
7 views
25 Jan 2026
Open multiple modals and close the top one first....
6 views
25 Jan 2026
Render a list of titles and let user edit one item at a time....
5 views
25 Jan 2026
Render a list and add Up/Down buttons to reorder items....
4 views
25 Jan 2026
Keep current page in state and sync it with the URL query param....
5 views
25 Jan 2026
Save a text draft in sessionStorage and restore it when you refresh....
6 views
25 Jan 2026
Build a tag input where user can add tags and remove them....
7 views
25 Jan 2026
Create a hook that debounces a value and updates after a delay....
7 views
25 Jan 2026
Create a useInterval hook and use it to build a timer....
6 views
25 Jan 2026
Create a hook that returns the previous value and show it for a counter....
8 views
25 Jan 2026
Close a dropdown when user clicks outside of it....
6 views
25 Jan 2026
Create a hook that sets document.title and resets it on unmount....
7 views
25 Jan 2026
Create a hook to attach an event listener safely....
6 views
25 Jan 2026
Fetch data in an effect and cancel when the component unmounts....
4 views
25 Jan 2026
Create a useLocalStorage hook and use it for a text setting....
9 views
25 Jan 2026
Create a hook to copy text to clipboard and show success state....
7 views
25 Jan 2026
Measure an element width after layout and show it on the UI....
5 views
25 Jan 2026
Create a hook that tracks online/offline status....
7 views
25 Jan 2026
Listen to hash changes and show the active section name....
5 views
25 Jan 2026
Focus an input when the component mounts....
6 views
25 Jan 2026
Close a modal-like box when user presses Escape....
6 views
25 Jan 2026
Auto-save text after user stops typing and cancel the pending save on change....
8 views
25 Jan 2026
Build a small form that uses useId to link label and input....
5 views
25 Jan 2026
Build a login form with email/password validation and show errors....
7 views
25 Jan 2026
Build a signup form that checks confirm password matches....
5 views
25 Jan 2026
Build a form that requires accepting terms before submit....
6 views
25 Jan 2026
Build a radio group and show an error when user submits without selection....
7 views
25 Jan 2026
Build a checkbox group where user must pick at least one option....
7 views
25 Jan 2026
Build a form where user can add/remove skill input fields....
6 views
25 Jan 2026
Build a 4-digit OTP input that moves focus to next box....
6 views
25 Jan 2026
Validate a username asynchronously and show loading/available states....
7 views
25 Jan 2026
Build an image upload input that previews the image and validates size....
6 views
25 Jan 2026
Build a date range form and validate end date is not before start date....
6 views
25 Jan 2026
Build a phone input that keeps only digits and formats as you type....
5 views
25 Jan 2026
Build a field that links error text using aria-describedby....
7 views
25 Jan 2026
Build a form that disables submit until all validations pass....
6 views
25 Jan 2026
Build a form with Reset button that restores default values....
6 views
25 Jan 2026
Build a select with a placeholder option and require a real choice....
6 views
25 Jan 2026
Validate a field only after it was touched (on blur)....
5 views
25 Jan 2026
Build a simple math captcha and block submit until answer is correct....
6 views
25 Jan 2026
Use useDeferredValue to keep typing smooth during heavy filtering....
8 views
25 Jan 2026
Use useTransition to show pending state while updating an expensive list....
6 views
25 Jan 2026
Render 10k+ items smoothly by only rendering visible rows (manual virtualization)....
7 views
25 Jan 2026
Debounce user typing so filtering runs less often and feels smoother....
8 views
25 Jan 2026
Update scroll progress smoothly without setting state on every scroll event....
7 views
25 Jan 2026
Avoid re-rendering consumers by memoizing the context value object....
6 views
25 Jan 2026
Subscribe to an external store without tearing using useSyncExternalStore....
6 views
25 Jan 2026
Memoize rows so only the selected row re-renders when selection changes....
5 views
25 Jan 2026
Pass stable object props to memoized child so it doesn’t re-render....
5 views
25 Jan 2026
Calculate heavy derived data once per input change using useMemo....
5 views
25 Jan 2026
Update state multiple times safely using functional setState....
7 views
25 Jan 2026
Create expensive Intl formatter once, not every render....
6 views
25 Jan 2026
Run heavy work when the browser is idle so UI stays responsive....
5 views
25 Jan 2026
Preload a lazy component when user hovers so it opens instantly....
6 views
25 Jan 2026
Track how many times a component re-rendered and show it on screen....
6 views
25 Jan 2026
Build a lookup Map once and use it for fast access during rendering....
6 views
25 Jan 2026
Keep a fast input responsive by isolating re-renders in a memo child....
7 views
25 Jan 2026
Sort a list only when sort options change, not on every render....
6 views
25 Jan 2026
Build a header for meetcode with a brand on the left and links on the right....
6 views
25 Jan 2026
Create a Button component with variants: primary and ghost....
5 views
25 Jan 2026
Make a Card component that accepts children and keeps the same look everywhere....
7 views
25 Jan 2026
Create an Avatar that shows an image, but falls back to initials if image is missing....
6 views
25 Jan 2026
Show a success banner only when a boolean prop is true....
7 views
25 Jan 2026
Render a topic list and use stable keys instead of index....
7 views
25 Jan 2026
Create an EmptyState component that shows a title, message, and an action button....
7 views
25 Jan 2026
Make a Badge component that supports colors: green, gray, red....
6 views
25 Jan 2026
Create an icon-only button that is accessible using aria-label....
7 views
25 Jan 2026
Build basic tabs with buttons and show the active panel....
6 views
25 Jan 2026
Create a component that provides mouse position using a render function prop....
7 views
25 Jan 2026
Build an input component that exposes focus() using forwardRef....
6 views
25 Jan 2026
Create a basic modal UI using conditional rendering and a backdrop....
5 views
25 Jan 2026
Create a skeleton block component to show loading UI....
7 views
25 Jan 2026
Build a breadcrumb component like Home > Topics > React....
7 views
25 Jan 2026
Create a pagination component with Prev/Next and current page text....
7 views
25 Jan 2026
Create a small table component that renders rows from data....
7 views
25 Jan 2026
Build a collapsible section using details/summary style but with React state....
6 views
25 Jan 2026
Create a component that safely handles missing props using defaults....
5 views
25 Jan 2026
Refactor by splitting a ProfileCard into Avatar and Details components....
6 views
25 Jan 2026
Build simple compound tabs: Tabs, Tabs.List, Tabs.Panel....
7 views
25 Jan 2026
Create a small counter using a class component (for practice)....
5 views
25 Jan 2026
Create a presentational component and wrap it with React.memo....
5 views
25 Jan 2026
Create an ErrorBoundary that catches render errors and shows a fallback UI....