Rreact.wiki
Free · Updated weekly · For React developers

The React Developer Hub

Fresh tutorials and deep dives, plus the projects, snippets, interview prep, and tools you reach for every day — all in one place.

Fresh from the blog

Latest articles

View all →
When useState Lies to You (And Why That’s By Design)
Featured

When useState Lies to You (And Why That’s By Design)

useState doesn’t hold values—it holds *promises*. Its “lies” (frozen reads, delayed writes, closure-scoped snapshots) aren’t bugs—they’re deliberate abstractions that uphold React’s consistency contract.

6/22/2026 · 5 min read

Open Source

Open-Source Projects

View all →
airbnb

visx as React’s Missing Primitives for Data Graphics

21k

visx is a collection of low-level, composable React components for building data visualizations—not prebuilt charts, but foundational building blocks like `<Bar />`, `<Line />`, and `<Axis />`, designed to work like native UI primitives.

UI ComponentsTypeScript
mui

What Happens When Radix, Floating UI, and MUI Join Forces?

10k

Base UI is an unstyled, accessibility-first React component library built collaboratively by the core teams behind Radix UI, Floating UI, and Material UI — representing a rare convergence of ecosystem primitives, composability philosophy, and WAI-ARIA rigor.

UI ComponentsTypeScript
huggingface

Run state-of-the-art AI models directly in the browser — no backend, no API keys, no latency

16k

transformers.js brings Hugging Face’s vast ecosystem of pretrained ML models to JavaScript environments, enabling zero-server, privacy-preserving, client-side inference for NLP, vision, audio, and multimodal tasks.

AI ToolJavaScript
floating-ui

Floating UI — A battle-tested, accessible positioning engine for tooltips, popovers, dropdowns, and other floating elements

33k

Floating UI is a lightweight, TypeScript-first library that solves the notoriously hard problem of correctly positioning and interacting with floating UI elements—while guaranteeing visibility, accessibility, and cross-platform flexibility.

React LibraryTypeScript
tldraw

tldraw/tldraw — A production-grade, infinitely extensible React SDK for building collaborative whiteboards, diagrams, and AI-augmented canvas apps

48k

tldraw is a TypeScript-first, React-native infinite canvas SDK that eliminates the years-long engineering effort required to build performant, multiplayer, cross-platform drawing and diagramming experiences.

React LibraryTypeScript
react

React — A declarative, component-based JavaScript library for building scalable, interactive user interfaces across web and native platforms

246k

React is the industry-standard UI library that enables developers to build fast, predictable, and maintainable front-end applications using reusable components and a declarative programming model.

React LibraryJavaScript

Copy & paste

React Snippets

View all →
tsx
import { useState, useEffect, useRef } from 'react';

interface UseIntersectionObserverOptions
  extends Partial<IntersectionObserverInit> {
  threshold?: number | number[];
  rootMargin?: string;
}

Intersection Observer Hook for Lazy Loading and Animations

A lightweight, reusable React hook that triggers callbacks when elements enter or leave the viewport—ideal for lazy-loading images or starting animations.

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

export function FadeIn({ children }: { children: React.ReactNode }) {
  const [isVisible, setIsVisible] = useState(false);
  const ref = useRef<HTMLDivElement>(null);

  useEffect(() => {
    const node = ref.current;

Fade-in animation with requestAnimationFrame

A performant, CSS-in-JS fade-in animation using useState, useEffect, and requestAnimationFrame for smooth entrance transitions.

tsx
import { useState, useCallback, useMemo } from 'react';

interface UseFormOptions<T> {
  initialValues: T;
  validate?: (values: T) => Partial<Record<keyof T, string>>;
}

interface UseFormReturn<T> {

Lightweight useForm hook with validation and dirty tracking

A minimal, self-contained React hook for form state management with validation, dirty tracking, and submission handling—no external dependencies.

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

export function DebouncedSearchInput({
  onSearch,
  delay = 300,
}: {
  onSearch: (query: string) => void;
  delay?: number;

Debounced search input with useEffect and useRef

A reusable search input that delays API calls until user stops typing for a specified duration.

tsx
import { useState, useCallback } from 'react';

function useToggle(initialValue: boolean = false) {
  const [value, setValue] = useState<boolean>(initialValue);

  const toggle = useCallback(() => {
    setValue(prev => !prev);
  }, []);

Custom useToggle hook with optional initial state

A lightweight, reusable React hook for managing boolean toggle state with optional initial value.

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

interface AccessibleModalProps {
  isOpen: boolean;
  onClose: () => void;
  title: string;
  children: React.ReactNode;
}

Accessible Modal with Focus Trapping and Dismissal

A fully accessible React modal that traps focus, supports ESC key and click-outside dismissal, and announces state changes to screen readers.

Get hired

React Interview Questions

View all →

Free tools

AI helpers & utilities

View all →

A complete toolkit for React developers

react.wiki brings together the resources React developers use every day: read fresh tutorials and deep dives, discover open-source projects worth your time, grab production-ready code snippets, prepare with real interview questions, compare libraries in tech comparisons, keep up via the weekly digest, and speed up everyday work with our AI tools. Free, no sign-up required.