Feed (Beta)

TKDodo

Reliable Query Prefetching with TanStack Router

Josh W Comeau

Getting Started with Anchor Positioning

Dan Abramov

There Are No Instances in atproto

Josh W Comeau

CSS vs. JavaScript

TKDodo

TanStack Router and Query

Josh W Comeau

Scroll-Driven Animations

Josh W Comeau

Squash and Stretch

TKDodo

The Vertical Codebase

Josh W Comeau

Sneaky Header Blocker Trick

TKDodo

Test IDs are an a11y smell

Kent C. Dodds

Implementing Hybrid Semantic + Lexical Search

Kent C. Dodds

Simplifying Containers with Cloudflare Sandboxes

Kent C. Dodds

Migrating to Workspaces and Nx

Kent C. Dodds

Offloading FFmpeg with Cloudflare

Kent C. Dodds

Building Semantic Search on my Content

Kent C. Dodds

Helping YOU ask ME questions with AI

Josh W Comeau

Sprites on the Web

TKDodo

Creating Query Abstractions

Kent C. Dodds

How I used Cursor to Migrate Frameworks

Dan Abramov

A Social Filesystem

Kent C. Dodds

The Dow's Start on the Covenant Path

TKDodo

Building Type-Safe Compound Components

Kent C. Dodds

2025 in Review

TKDodo

2025 in Review

Dan Abramov

Introducing RSC Explorer

TKDodo

Designing Design Systems

Josh W Comeau

Brand New Layouts with CSS Subgrid

TKDodo

Omit for Discriminated Unions in TypeScript

TKDodo

Tooltip Components Should Not Exist

Dan Abramov

Hire Me in Japan

Josh W Comeau

Springs and Bounces in Native CSS

Dan Abramov

How to Fix Any Bug

TKDodo

Context Inheritance in TanStack Router

Dan Abramov

Where It's at://

Dan Abramov

Open Social

Josh W Comeau

The Big Gotcha With @starting-style

Josh W Comeau

Color Shifting in CSS

Dan Abramov

A Lean Syntax Primer

TKDodo

Deriving Client State from Server State

Josh W Comeau

An Interactive Guide to SVG Paths

Dan Abramov

Beyond Booleans

TKDodo

React Query Selectors, Supercharged

Dan Abramov

The Math Is Haunted

TKDodo

The Useless useCallback

Josh W Comeau

A Friendly Introduction to SVG

Dan Abramov

Suppressions of Suppressions

Dan Abramov

I'm Doing a Little Consulting

Josh W Comeau

Partial Keyframes

Dan Abramov

How Imports Work in RSC

Dan Abramov

RSC for LISP Developers

Dan Abramov

Progressive JSON

Dan Abramov

Why Does RSC Integrate with a Bundler?

Dan Abramov

One Roundtrip Per Navigation

TKDodo

The Beauty of TanStack Router

Josh W Comeau

The Height Enigma

Dan Abramov

Static as a Server

Dan Abramov

RSC for Astro Developers

Dan Abramov

Functional HTML

TKDodo

Concurrent Optimistic Updates in React Query

Dan Abramov

What Does "use client" Do?

Dan Abramov

Impossible Components

Dan Abramov

JSX Over The Wire

Josh W Comeau

The Post-Developer Era

Kent C. Dodds

The next chapter: EpicAI.pro

Dan Abramov

React for Two Computers

TKDodo

My Open Source Origin Story

Josh W Comeau

A Million Little Secrets

Josh W Comeau

Container Queries Unleashed

TKDodo

2024 in Review

TKDodo

React Query - The Bad Parts

TKDodo

Ref Callbacks, React 19 and the Compiler

TKDodo

My Slow Retreat from Twitter

Josh W Comeau

Next-level frosted glass with backdrop-filter

Josh W Comeau

A Framework for Evaluating Browser Support

Kent C. Dodds

AI is taking your job

Josh W Comeau

A Friendly Introduction to Container Queries

Kent C. Dodds

How I increased my visibility

TKDodo

React Query API Design - Lessons Learned

Josh W Comeau

How I Built My Blog

TKDodo

Component Composition is great btw

TKDodo

How Infinite Queries work

Josh W Comeau

The Undeniable Utility Of CSS :has

TKDodo

Introducing XState Store

TKDodo

Please Stop Using Barrel Files

TKDodo

React 19 and Suspense - A Drama in 3 Acts

Josh W Comeau

Promises From The Ground Up

TKDodo

Automatic Query Invalidation after Mutations

Josh W Comeau

Snappy UI Optimization with useDeferredValue

Josh W Comeau

CSS in React Server Components

TKDodo

Zustand and React Context

TKDodo

Avoiding Hydration Mismatches with useSyncExternalStore

Josh W Comeau

How To Center a Div

TKDodo

The Query Options API

Dan Abramov

The Two Reacts

TKDodo

2023 in Review

Kent C. Dodds

2023 in Review

Kent C. Dodds

Launching Epic Web

Dan Abramov

A Chain Reaction

Josh W Comeau

An Interactive Guide to CSS Grid

TKDodo

Why You Want React Query

TKDodo

The Uphill Battle of Memoization

Josh W Comeau

Understanding the JavaScript Modulo Operator

Josh W Comeau

Making Sense of React Server Components

TKDodo

Array Types in TypeScript

TKDodo

React Query and React Context

TKDodo

Thinking in React Query

Josh W Comeau

Animated Pride Flags

Kent C. Dodds

Stop Being a Junior

TKDodo

You Might Not Need React Query

Josh W Comeau

The “const” Deception

TKDodo

Breaking React Query's API on purpose

Josh W Comeau

The End of Front-End Development

Kent C. Dodds

RSC with Dan Abramov and Joe Savona Live Stream

Josh W Comeau

Common Beginner Mistakes with React

TKDodo

OSS Feature Decision Tree

TKDodo

Why React isn't dying

Kent C. Dodds

Fixing a Memory Leak in a Production Node.js App

Josh W Comeau

Data Binding in React

TKDodo

Type-safe React Query

TKDodo

2022 in Review

Kent C. Dodds

2022 in Review

Kent C. Dodds

My Car Accident

TKDodo

Inside React Query

Josh W Comeau

Color Formats in CSS

Josh W Comeau

An Interactive Guide to Flexbox

Kent C. Dodds

I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS

TKDodo

Working with Zustand

TKDodo

Refactor impactfully

TKDodo

Seeding the Query Cache

Josh W Comeau

A World-Class Code Playground with Sandpack

TKDodo

Refs, Events and Escape Hatches

Kent C. Dodds

I'm building EpicWeb.dev

Kent C. Dodds

A review of my time at Remix

Josh W Comeau

Understanding useMemo and useCallback

TKDodo

React Query meets React Router

Josh W Comeau

Why React Re-Renders

TKDodo

Avoiding useEffect with callback refs

Josh W Comeau

Statements Vs. Expressions

Josh W Comeau

My Wonderful HTML Email Workflow

TKDodo

React Query FAQs

Josh W Comeau

The Surprising Truth About Pixels and Accessibility

Josh W Comeau

You Don’t Need a UI Framework

TKDodo

Hooks, Dependencies and Stale Closures

Josh W Comeau

The Front-End Developer's Guide to the Terminal

TKDodo

React Query and Forms

Josh W Comeau

Understanding Layout Algorithms

TKDodo

Use Urgency

Kent C. Dodds

Remix: The Yang to React's Yin

Josh W Comeau

Delightful React File/Directory Structure

TKDodo

optional vs. undefined

TKDodo

Offline React Query

TKDodo

Always provide customer value

TKDodo

Road to Refactoring

Josh W Comeau

Make Beautiful Gradients

TKDodo

2021 in Review

TKDodo

Beware the leaking any

Josh W Comeau

A Modern CSS Reset

Josh W Comeau

Introducing “Shadow Palette Generator”

Kent C. Dodds

How I help you build better websites

Kent C. Dodds

Why I Love Remix

Kent C. Dodds

The State Initializer Pattern

Kent C. Dodds

How to React ⚛️

Kent C. Dodds

Get a catch block error message with TypeScript

TKDodo

Leveraging the Query Function Context

Kent C. Dodds

Building an awesome image loading experience

Kent C. Dodds

How Remix makes CSS clashes predictable

TKDodo

Mastering Mutations in React Query

Kent C. Dodds

Introducing the new kentcdodds.com

Kent C. Dodds

How I built a modern website in 2021

TKDodo

useState vs useReducer

Josh W Comeau

Designing Beautiful Shadows in CSS

TKDodo

React Query Error Handling

Josh W Comeau

An Interactive Guide to Keyframe Animations

TKDodo

React Query as a State Manager

Josh W Comeau

The World of CSS Transforms

TKDodo

Placeholder and Initial Data in React Query

TKDodo

About async functions

Josh W Comeau

How To Learn Stuff Quickly

Dan Abramov

npm audit: Broken by Design

Josh W Comeau

Demystifying styled-components

TKDodo

Effective React Query Keys

TKDodo

Using WebSockets with React Query

Kent C. Dodds

How to use React Context effectively

Kent C. Dodds

Static vs Unit vs Integration vs E2E Testing for Frontend Apps

Kent C. Dodds

The Testing Trophy and Testing Classifications

Kent C. Dodds

Array reduce vs chaining vs for loop

TKDodo

React Query and TypeScript

Kent C. Dodds

Don't Solve Problems, Eliminate Them

Kent C. Dodds

Super Simple Start to Remix

TKDodo

How can I ... ?

Josh W Comeau

How I Built My Blog

Kent C. Dodds

Super Simple Start to ESModules in Node.js

TKDodo

Testing React Query

Josh W Comeau

Building a Magical 3D Button

TKDodo

Status Checks in React Query

Kent C. Dodds

JavaScript Pass By Value Function Parameters

TKDodo

React Query Render Optimizations

TKDodo

useState for one-time initializations

TKDodo

React Query Data Transformations

Kent C. Dodds

How to write a Constrained Identity Function (CIF) in TypeScript

Kent C. Dodds

How to optimize your context value

Kent C. Dodds

How to write a React Component in TypeScript

Josh W Comeau

The Importance of Learning CSS

TKDodo

No love for boolean parameters

Kent C. Dodds

TypeScript Function Syntaxes

Dan Abramov

Before You memo()

Josh W Comeau

What The Heck, z-index??

Kent C. Dodds

Listify a JavaScript Array

TKDodo

Things to know about useState

Josh W Comeau

An Interactive Guide to CSS Transitions

Kent C. Dodds

Build vs Buy: Component Libraries edition

Kent C. Dodds

Using fetch with TypeScript

Josh W Comeau

The styled-components Happy Path

TKDodo

Simplifying useEffect

Kent C. Dodds

Wrapping React.useState with TypeScript

Kent C. Dodds

Define function overload types with TypeScript

Josh W Comeau

Let's Bring Spacer GIFs Back!

Kent C. Dodds

2020 in Review

TKDodo

Flow to TypeScript migration journey

Josh W Comeau

Refreshing Server-Side Props

Kent C. Dodds

Business and Engineering alignment

TKDodo

On naming things

Josh W Comeau

The Rules of Margin Collapse

Kent C. Dodds

Hi, thanks for reaching out to me 👋

Kent C. Dodds

useEffect vs useLayoutEffect

Josh W Comeau

Boop!

TKDodo

Practical React Query

Kent C. Dodds

Super simple start to Firebase functions

Kent C. Dodds

Super simple start to Netlify functions

Josh W Comeau

Chasing the Pixel-Perfect Dream

TKDodo

Avoiding legacy systems

Kent C. Dodds

Super Simple Start to css variables

TKDodo

Putting props to useState

Josh W Comeau

Hands-Free Coding

TKDodo

The power of const assertions

Josh W Comeau

Full-Bleed Layout Using CSS Grid

Josh W Comeau

A Friendly Introduction to Spring Physics

TKDodo

Pedantic index signatures in TypeScript 4.1

TKDodo

Why I don't like reduce

TKDodo

Calling JavaScript from TypeScript

TKDodo

Solving conflicts in package-lock.json

TKDodo

Don't over useState

Kent C. Dodds

Favor Progress Over Pride in Open Source

Kent C. Dodds

Testing Implementation Details

Kent C. Dodds

How getting into Open Source has been awesome for me

TKDodo

Exhaustive matching in TypeScript

Kent C. Dodds

useState lazy initialization and function updates

Kent C. Dodds

Use ternaries rather than && in JSX

Kent C. Dodds

Application State Management with React

Kent C. Dodds

Use react-error-boundary to handle errors in React

Kent C. Dodds

JavaScript to Know for React

Dan Abramov

The WET Codebase

Kent C. Dodds

How I structure Express apps

Kent C. Dodds

What open source project should I contribute to?

Kent C. Dodds

When I follow TDD

Kent C. Dodds

AHA Programming 💡

Kent C. Dodds

How I Record Educational Videos

Kent C. Dodds

Should I write a test or fix a bug?

Kent C. Dodds

Stop mocking fetch

Josh W Comeau

Local Testing on an iPhone

Kent C. Dodds

Intentional Career Building

Josh W Comeau

Animated Sparkles in React

Kent C. Dodds

Improve test error messages of your abstractions

Kent C. Dodds

Tracing user interactions with React

Kent C. Dodds

Eliminate an entire category of bugs with a few simple tools

Josh W Comeau

Lessons Learned Speaking at Conferences

Josh W Comeau

Accessible Animations in React

Kent C. Dodds

Common mistakes with React Testing Library

Josh W Comeau

Why My Blog is Closed-Source

Kent C. Dodds

Super Simple Start to React

Josh W Comeau

The Quest for the Perfect Dark Mode

Josh W Comeau

CSS Variables for React Devs

Kent C. Dodds

Stop using client-side route redirects

Josh W Comeau

Styling Ordered Lists with CSS Counters

Kent C. Dodds

The State Reducer Pattern with React Hooks

Kent C. Dodds

Function forms

Josh W Comeau

Announcing “use-sound”, a React Hook for Sound Effects

Kent C. Dodds

Replace axios with a simple custom fetch wrapper

Kent C. Dodds

How to test custom React hooks

Josh W Comeau

Becoming a Software Developer Without a CS Degree

Kent C. Dodds

React Production Performance Monitoring

Kent C. Dodds

Should I useState or useReducer?

Josh W Comeau

The Perils of Hydration

Kent C. Dodds

Stop using isLoading booleans

Josh W Comeau

Persisting React State in localStorage

Kent C. Dodds

Make Your Test Fail

Kent C. Dodds

Make your own DevTools

Kent C. Dodds

An Argument for Automation

Kent C. Dodds

Fix the "not wrapped in act(...)" warning

Kent C. Dodds

Super Simple Start to ESModules in the Browser

Josh W Comeau

Effective Collaboration with Product and Design

Kent C. Dodds

Implementing a simple state machine library in JavaScript

Josh W Comeau

Magical Rainbow Gradients

Dan Abramov

Goodbye, Clean Code

Dan Abramov

My Decade in Review

Kent C. Dodds

2010s Decade in Review

Dan Abramov

What Are the React Team Principles?

Kent C. Dodds

Why users care about how you write code

Dan Abramov

On let vs const

Dan Abramov

What Is JavaScript Made Of?

Josh W Comeau

Finding your first remote job

Kent C. Dodds

Why I avoid nesting closures

Kent C. Dodds

Don't call a React function component

Kent C. Dodds

Why your team needs TestingJavaScript.com

Josh W Comeau

My experience as a remote worker

Kent C. Dodds

Inversion of Control

Josh W Comeau

Clever Code Considered Harmful

Kent C. Dodds

Understanding React's key prop

Kent C. Dodds

How to Enable React Concurrent Mode

Kent C. Dodds

How to add testing to an existing project

Kent C. Dodds

Building the Open Source Community We Want

Kent C. Dodds

Making your UI tests resilient to change

Kent C. Dodds

Speed up your App with Web Workers

Kent C. Dodds

Don't Sync State. Derive It!

Kent C. Dodds

State Colocation will make your React app faster

Kent C. Dodds

Profile a React App for Performance

Kent C. Dodds

Fix the slow render before you fix the re-render

Kent C. Dodds

How to implement useState with useReducer

Kent C. Dodds

Write fewer, longer tests

Kent C. Dodds

How to get experience as a software engineer

Kent C. Dodds

5 Tips to Help You Avoid React Hooks Pitfalls

Dan Abramov

How Does the Development Mode Work?

Kent C. Dodds

Avoid Nesting when you're Testing

Dan Abramov

Algebraic Effects for the Rest of Us

Kent C. Dodds

When to break up a component into multiple components

Kent C. Dodds

Write tests. Not too many. Mostly integration.

Dan Abramov

Preparing for a Tech Talk, Part 3: Content

Kent C. Dodds

React Fundamentals: Props vs State

Kent C. Dodds

How I Teach

Kent C. Dodds

One simple trick to optimize React re-renders

Kent C. Dodds

Colocation

Kent C. Dodds

When to useMemo and useCallback

Kent C. Dodds

Avoid the Test User

Kent C. Dodds

Authentication in React Applications

Josh W Comeau

Folding the DOM

Kent C. Dodds

How to know what to test

Kent C. Dodds

AHA Testing 💡

Dan Abramov

Name It, and They Will Come

Dan Abramov

Writing Resilient Components

Dan Abramov

A Complete Guide to useEffect

Kent C. Dodds

How to get started with programming

Kent C. Dodds

How to Enable React Strict Mode

Dan Abramov

How Are Function Components Different from Classes?

Dan Abramov

Coping with Feedback

Kent C. Dodds

Goodbye Medium

Kent C. Dodds

React Hooks: Compound Components

Kent C. Dodds

🚨 Big Announcement: I'm a full-time educator! 👨‍🏫

Dan Abramov

Fix Like No One’s Watching

Dan Abramov

Making setInterval Declarative with React Hooks

Kent C. Dodds

Please stop building inaccessible forms (and how to fix them)

Dan Abramov

React as a UI Runtime

Dan Abramov

Why Isn’t X a Hook?

Dan Abramov

The “Bug-O” Notation

Kent C. Dodds

2018 in Review

Dan Abramov

Preparing for a Tech Talk, Part 2: What, Why, and How

Kent C. Dodds

React Hooks: Array Destructuring Fundamentals

Dan Abramov

The Elements of UI Engineering

Dan Abramov

Things I Don’t Know as of 2018

Dan Abramov

Preparing for a Tech Talk, Part 1: Motivation

Kent C. Dodds

React Hooks: What's going to happen to my tests?

Kent C. Dodds

React Hooks: What's going to happen to react context?

Dan Abramov

Why Do React Hooks Rely on Call Order?

Dan Abramov

Optimized for Change

Kent C. Dodds

React Hooks: What's going to happen to render props?

Dan Abramov

How Does setState Know What to Do?

Dan Abramov

My Wishlist for Hot Reloading

Dan Abramov

Why Do React Elements Have a $$typeof Property?

Kent C. Dodds

How Gratitude can make you a better developer

Kent C. Dodds

Introducing a new course: Simplify React Apps with React Hooks and Suspense

Dan Abramov

How Does React Tell a Class from a Function?

Dan Abramov

Why Do We Write super(props)?

Kent C. Dodds

Common Testing Mistakes

Kent C. Dodds

UI Testing Myths

Kent C. Dodds

The Merits of Mocking

Kent C. Dodds

The time I messed up

Kent C. Dodds

React is an implementation detail

Kent C. Dodds

Why you've been bad about testing

Kent C. Dodds

Demystifying Testing

Kent C. Dodds

Confidently Shipping Code

Kent C. Dodds

React/JSX as a server-side templating language

Kent C. Dodds

How I am so productive

Kent C. Dodds

Getting Noticed and Widening Your Reach

Kent C. Dodds

Make Impossible States Impossible

Kent C. Dodds

How to make the most out of conferences

Kent C. Dodds

Why and How I started public speaking

Kent C. Dodds

mdx-deck: slide decks powered by markdown and react

Kent C. Dodds

unpkg: An open source CDN for npm

Kent C. Dodds

Polyfill as needed with polyfill-service

Kent C. Dodds

What is a polyfill

Kent C. Dodds

Why I Never Use Shallow Rendering

Kent C. Dodds

What is JSX?

Kent C. Dodds

Test Isolation with React

Kent C. Dodds

JavaScript default parameters

Kent C. Dodds

Dealing with FOMO

Kent C. Dodds

🏎 downshift 2.0.0 released 🎉

Kent C. Dodds

When to use Control Props or State Reducers

Kent C. Dodds

Write your own code transform for fun and profit

Kent C. Dodds

💯 UPDATED: Advanced React Component Patterns ⚛️

Kent C. Dodds

React DevTools

Josh W Comeau

Dynamic Bézier Curves

Kent C. Dodds

Prop Drilling

Kent C. Dodds

How I learn an Open Source Codebase

Kent C. Dodds

Mixing Component Patterns

Kent C. Dodds

Pure Modules

Kent C. Dodds

Migrating to React's New Context API

Kent C. Dodds

Compose Render Props

Kent C. Dodds

Introducing the react-testing-library 🐐

Kent C. Dodds

When to NOT use Render Props

Kent C. Dodds

But really, what is a JavaScript mock?

Kent C. Dodds

Increase your marketability

Kent C. Dodds

Solidifying what you learn

Kent C. Dodds

The state reducer pattern ⚛️ 🏎

Kent C. Dodds

Answers to common questions about render props

Kent C. Dodds

React's ⚛️ new Context API

Kent C. Dodds

Concerning toolkits 🛠 📦

Kent C. Dodds

Spelunking in node_modules 👷

Kent C. Dodds

Building Production Apps 100% in the browser

Kent C. Dodds

Testing ⚛️ components using render props

Kent C. Dodds

But really, what is a JavaScript test?

Kent C. Dodds

Merry Christmas!

Kent C. Dodds

The Beginner's Guide to ReactJS

Kent C. Dodds

Giving good demos

Kent C. Dodds

Advanced React Component Patterns

Kent C. Dodds

Learn React Fundamentals 🆓 and Advanced Patterns ⚛️ 🎁

Kent C. Dodds

Becoming an Open Source Project Maintainer

Kent C. Dodds

Rendering a function with React

Kent C. Dodds

Improving the usability of your modules

Kent C. Dodds

Effective Snapshot Testing

Kent C. Dodds

Make maintainable workarounds with codegen 💥

Kent C. Dodds

How to give rendering control to users with prop getters

Kent C. Dodds

Tools without config 🛠📦

Kent C. Dodds

Introducing downshift 🏎 for React ⚛️

Kent C. Dodds

How writing custom Babel & ESLint plugins can increase productivity & improve user experience

Kent C. Dodds

Classes, Complexity, and Functional Programming

Kent C. Dodds

Introducing glamorous 💄

Kent C. Dodds

Tips for making a CLI-based tool with node

Kent C. Dodds

Migrating to Jest

Kent C. Dodds

🌆 Sunsetting JavaScript Air 🌆

Kent C. Dodds

Kent OOO (Out Of the Office)

Josh W Comeau

Animating the Unanimatable

Kent C. Dodds

Introducing: How to Contribute to Open Source

Kent C. Dodds

Misunderstanding ES6 Modules, Upgrading Babel, Tears, and a Solution

Kent C. Dodds

Semicolons in JavaScript: A preference

Kent C. Dodds

Please, don't commit commented out code

Kent C. Dodds

Open Source Stamina

Kent C. Dodds

Why I don't commit generated files to master

Kent C. Dodds

How to Write a JavaScript Library

Kent C. Dodds

First Timers Only

Kent C. Dodds

Newspaper Code Structure