RSS.Social

TkDodo's blog

follow: @[email protected]

Posts

Deriving Client State from Server State

React Query Selectors, Supercharged

The Useless useCallback

The Beauty of TanStack Router

Concurrent Optimistic Updates in React Query

My Open Source Origin Story

2024 in Review

React Query - The Bad Parts

Ref Callbacks, React 19 and the Compiler

My Slow Retreat from Twitter

React Query API Design - Lessons Learned

Component Composition is great btw

How Infinite Queries work

Introducing XState Store

Please Stop Using Barrel Files

React 19 and Suspense - A Drama in 3 Acts

Automatic Query Invalidation after Mutations

Zustand and React Context

Avoiding Hydration Mismatches with useSyncExternalStore

The Query Options API

2023 in Review

Why You Want React Query

The Uphill Battle of Memoization

Array Types in TypeScript

React Query and React Context

Thinking in React Query

You Might Not Need React Query

Breaking React Query's API on purpose

OSS Feature Decision Tree

Why React isn't dying

Type-safe React Query

2022 in Review

Inside React Query

Working with Zustand

Refactor impactfully

Seeding the Query Cache

Refs, Events and Escape Hatches

React Query meets React Router

Avoiding useEffect with callback refs

React Query FAQs

Hooks, Dependencies and Stale Closures

React Query and Forms

Use Urgency

optional vs. undefined

Offline React Query

Always provide customer value

Road to Refactoring

2021 in Review

Beware the leaking any

Leveraging the Query Function Context

Mastering Mutations in React Query

useState vs useReducer

React Query Error Handling

React Query as a State Manager

Placeholder and Initial Data in React Query

About async functions

Effective React Query Keys

Using WebSockets with React Query

React Query and TypeScript

How can I ... ?

Testing React Query

Status Checks in React Query

React Query Render Optimizations

useState for one-time initializations

React Query Data Transformations

No love for boolean parameters

Things to know about useState

Simplifying useEffect

Flow to TypeScript migration journey

On naming things

Practical React Query

Avoiding legacy systems

Putting props to useState

The power of const assertions

Pedantic index signatures in TypeScript 4.1

Why I don't like reduce

Calling JavaScript from TypeScript

Solving conflicts in package-lock.json

Don't over useState

Exhaustive matching in TypeScript