About async functions
Explains JavaScript async functions, their benefits over promise chaining, and important behavioral differences like automatic promise wrapping.
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.
24 articles from this blog
Explains JavaScript async functions, their benefits over promise chaining, and important behavioral differences like automatic promise wrapping.
A guide to structuring React Query keys effectively for caching, automatic refetching, and manual cache interactions in React applications.
A guide on integrating WebSockets with React Query to handle live data and real-time updates in a React application.
A guide to using TypeScript effectively with React Query, covering generics, type inference and common pitfalls for type-safe data fetching.
A software developer discusses the 'XY Problem' in tech support, where users ask about their attempted solution rather than the actual problem they need to solve.
A guide on testing React components that use React Query, covering network request mocking and testing strategies for async server state.
A guide to understanding and using status checks and boolean flags in React Query for effective data fetching state management.
Explains React Query render optimizations, focusing on reducing unnecessary re-renders using options like notifyOnChangeProps.
Explains why useMemo isn't reliable for one-time React initializations and demonstrates the correct useState pattern for stable resource creation.
Exploring different approaches for transforming data when using React Query with REST APIs, including backend, queryFn, and frontend methods.
Explains why boolean function parameters are often a code smell and suggests better design alternatives.
Learn 5 essential tips for React's useState hook, including functional updaters and common pitfalls to avoid in your code.
A team's journey migrating from Flow to TypeScript for better type safety and maintainability in their React/JavaScript frontend codebase.
A developer's perspective on the importance of naming in programming, offering personal rules for creating readable and maintainable code.
A comprehensive guide to React Query, covering practical usage, data transformations, caching, and best practices for managing server state in React applications.
Explores the causes of legacy software and offers developer strategies to prevent codebases from becoming hard-to-maintain systems.
Explains React useState pitfalls when initializing state with props, using a person detail form example to demonstrate the issue.
Explains TypeScript's const assertions, their syntax, differences from type assertions, and benefits for type inference and immutability.
Exploring TypeScript 4.1's pedantic index signature checks and creating a SafeRecord type to fix unsafe object access.
A critique of JavaScript's Array.reduce method, arguing it often creates hard-to-read code and should be avoided in favor of simpler alternatives.