Rreact.wiki
Free · Updated weekly · For React developers

Practical React Wiki for Working Developers

Guides, libraries, snippets, and interview prep — plus AI tools — curated for developers who ship React in production. Free, no sign-up required.

Fresh guides

Latest guides

View all →
Your React Project Starts Clean. Six Months Later, Nobody Wants to Touch It. Here's Why.
Featured

Your React Project Starts Clean. Six Months Later, Nobody Wants to Touch It. Here's Why.

How to quantify code decay in React apps using observable architectural signals—component coupling, prop sprawl, hook fragmentation—and turn entropy into an actionable engineering metric.

6/25/2026 · 17 min read

Open Source

React Libraries

View all →
adobe

React Aria: Adobe's Open Source Library That Gives Your Component Library Accessibility for Free

16k

React Spectrum is Adobe’s opinionated, accessibility-first open-source stack—comprising React Spectrum (styled components), React Aria (unstyled hooks), React Stately (cross-platform state), and Internationalized (i18n)—built to enforce design consistency at enterprise scale while enabling deep extensibility.

UI ComponentsTypeScript
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

Copy & paste

React Snippets

View all →
jsx
import { useReducer } from 'react';

const formReducer = (state, action) => {
  switch (action.type) {
    case 'UPDATE_FIELD':
      return {
        ...state,
        values: {

Form State Management with useReducer

A reusable, type-safe React hook for managing complex form state (values, errors, touched) using useReducer.

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

function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prevValue: T) => T)) => void] {
  // State to store our value
  // Pass initial state function to useState so logic is only executed once
  const [storedValue, setStoredValue] = useState<T>(() => {
    try {
      const item = window.localStorage.getItem(key);

React hook for persistent state in localStorage

A custom React hook that synchronizes component state with browser localStorage, supporting functional updates and error resilience.

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.

Get hired

React Interview Questions

View all →

Free tools

AI helpers & utilities

View all →

A practical React wiki for working developers

react.wiki brings together the resources React developers use every day: read practical guides and deep dives, discover hand-picked React libraries worth your time, grab production-ready code snippets, prepare with real interview questions, compare options in tech comparisons, and speed up everyday work with our AI tools. Free, no sign-up required.