Designing Design Systems
A developer's perspective on building effective design systems, focusing on API design, developer experience, and team collaboration.
tkdodo.eu is the personal blog of Dominik Dorfmeister, a web developer from Vienna with a strong focus on React and TypeScript. Dominik is a co-maintainer of TanStack Query, one of the most popular async state management libraries in the React ecosystem, where he focuses on education, support, and explaining complex concepts in an approachable way. On his blog he writes in depth articles about React, TypeScript, React Query, async state management, and practical frontend patterns. Many posts are based on real questions from the community on Twitter, Stack Overflow, and the TanStack Discord, which makes the content very close to what developers struggle with in day to day work. He also helps maintain remeda, a TypeScript focused utility library, and often shows how strong typing and good tooling can make React apps safer and easier to maintain.
77 articles from this blog
A developer's perspective on building effective design systems, focusing on API design, developer experience, and team collaboration.
Explains how to use TypeScript's Omit utility type with discriminated unions for better React component prop typing.
Argues that generic Tooltip components in design systems are flawed and proposes better, more accessible alternatives for web development.
Explores TanStack Router's type-safe context inheritance for path and search parameters in nested routes, showcasing automatic type propagation.
A guide to deriving client state from server state in React applications using React Query, avoiding manual sync with useEffect.
Advanced guide to React Query selectors for fine-grained subscriptions and performance optimization in React applications.
Analyzing unnecessary use of React's useCallback hook and when memoization provides no performance benefit.
An exploration of TanStack Router's features, focusing on its type-safe routing and developer experience for React applications.
A guide to implementing concurrent optimistic updates in React Query to improve UI responsiveness and user experience.
A developer shares their personal journey into open source, detailing their initial steps with React Query and the TanStack community in late 2020.
A critical look at React Query's drawbacks and challenges, presented as a conference talk transcript discussing its usage and limitations.
An updated guide on React ref callbacks, covering changes in React 19 and best practices for avoiding unnecessary re-renders.
A deep dive into the API design choices, tradeoffs, and lessons learned from developing the popular TanStack React Query library.
Explains a bug in React Query's Infinite Queries feature, detailing the issue, its conditions, and the underlying mechanics of infinite scrolling.
The article argues against using barrel files in JavaScript/TypeScript projects, explaining their drawbacks and negative impact on code organization.
Analysis of React 19's Suspense changes causing unexpected waterfalls and parallel loading issues, based on discoveries from the React Summit conference.
Explores automatic query invalidation after mutations in React Query, covering implementation strategies and global cache callbacks.
Comparing Zustand and React Context for state management, discussing Zustand's global scope limitations and use cases for scoped state.
Explains React hydration mismatches in SSR and how to use useSyncExternalStore to prevent them, covering common pitfalls and solutions.
Explores React Query v5's new Query Options API, which consolidates all function parameters into a single object for better abstraction and sharing.