Top all-time · #3544
TkDodo's blog
Personal blog · tkdodo.eu/blogprogrammingweb
TkDodo's blog is a personal blog at tkdodo.eu about programming and web. Since 2021, 22 different Hacker News readers have linked it 26 times, most often “The Vertical Codebase”. It is still writing: the last post was on 2026-10-20, and you can follow it by feed.
Too few sampled comments (4) to say how often HN recommends it.?
Why HN links it
HN readers link this blog on React, TypeScript and React Query, with posts on query keys, destructuring discriminated unions and React state. Commenters mostly cite it as a reference.
Summarised by Claude from a sample of 4 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
A technical blog about frontend-development, TypeScript and React
Most-linked posts?
- The Vertical Codebase4 people · 4 mentions · first linked 2026-05-05
- The Useless UseCallback2 people · 3 mentions · first linked 2025-07-28
- Please Stop Using Barrel Files2 people · 2 mentions · first linked 2024-08-02
- Type-Safe React Query2 people · 2 mentions · first linked 2023-01-07
- Tooltip Components Should Not Exist2 people · 2 mentions · first linked 2025-11-18
What Hacker News says?
Actually, React's problem is that it's the inverse of how HTML and JavaScript works in terms of how to handle callbacks. Of the major UI frameworks, it is the only one with this quality (Vue, Svelte, Angular, Solid, etc. use signals). This inverted behavior is the cause of most of the pain and footguns in React and React Hooks because the way state behaves in a React component is not the way state behaves in any oth…
Comment linking /blog/the-useless-use-callback
on “React is winning by default and slowing innovation”Submitted The Useless UseCallback as a story · 110 points
HN discussionI believe this will also obviate a common recommendation to not destructure when using React Query: https://tkdodo.eu/blog/react-query-and-type-script#type-narr...
Comment linking /blog/react-query-and-type-script
on “TypeScript: Control flow analysis for destructured discriminated unions”Submitted Please Stop Using Barrel Files as a story · 11 points
HN discussionThere was a video recently talking about this with a good visualization [0] The root cause of the problem is very fundamental to React and the nature of how the team designed the reactivity model. The TL;DR: React has an inverted model of state management [1]. In Vanilla, Vue, Svelte, Solid, any signals-based reactivity model, you explicitly opt-in to state changes by moving code into your reactive callback. In fact…
Comment linking /blog/the-useless-use-callback
on “Why is GitHub UI getting slower?”Submitted Tooltip Components Should Not Exist as a story · 5 points
HN discussionIt was more of a general misunderstanding on how React Query is supposed to work, partially triggered by some mistakes in defining the query keys that meant that React Query didn't work as intended. I'd recommend this blog post (or actually all blog posts on React query on that site): https://tkdodo.eu/blog/effective-react-query-keys What I observed was that the query keys were not consistently defined, which broke…
Comment linking /blog/effective-react-query-keys
on “TanStack Query(a.k.a. React Query) v5 announced”Submitted Please Stop Using Barrel Files as a story · 5 points
HN discussionSubmitted Tooltip Components Should Not Exist as a story · 4 points
HN discussionSubmitted The Vertical Codebase as a story · 3 points
HN discussionSubmitted The Beauty of TanStack Router as a story · 3 points
HN discussionSubmitted Working with Zustand as a story · 3 points
HN discussionSubmitted Hooks, Dependencies and Stale Closures as a story · 3 points
HN discussionSubmitted Hooks, Dependencies and Stale Closures as a story · 3 points
HN discussionSubmitted The Vertical Codebase as a story · 2 points
HN discussionSubmitted XState Store – TkDodo's Blog as a story · 2 points
HN discussionSubmitted Type-Safe React Query as a story · 2 points
HN discussionSubmitted React Query meets React Router (v6.4) as a story · 2 points
HN discussionSubmitted The Vertical Codebase as a story · 1 points
HN discussionSubmitted The Vertical Codebase as a story · 1 points
HN discussionSubmitted Building Type-Safe Compound Components as a story · 1 points
HN discussionSubmitted Avoiding Hydration Mismatches with UseSyncExternalStore as a story · 1 points
HN discussionSubmitted Array Types in TypeScript as a story · 1 points
HN discussionSubmitted Type-Safe React Query as a story · 1 points
HN discussionSubmitted Using WebSockets with React Query as a story · 1 points
HN discussion