Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #3544

T

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.

Visit the blog
26mentions?
22HN people?
2021–2026first – last linked?
Links on Hacker News per year · peak 7 in 2025

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?

  1. The Vertical Codebase
    4 people · 4 mentions · first linked 2026-05-05
  2. The Useless UseCallback
    2 people · 3 mentions · first linked 2025-07-28
  3. Please Stop Using Barrel Files
    2 people · 2 mentions · first linked 2024-08-02
  4. Type-Safe React Query
    2 people · 2 mentions · first linked 2023-01-07
  5. Tooltip Components Should Not Exist
    2 people · 2 mentions · first linked 2025-11-18

What Hacker News says?

  1. 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”
  2. Submitted The Useless UseCallback as a story · 110 points

    HN discussion
  3. I 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”
  4. Submitted Please Stop Using Barrel Files as a story · 11 points

    HN discussion
  5. There 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?”
  6. Submitted Tooltip Components Should Not Exist as a story · 5 points

    HN discussion
  7. fabian2k · 2023-10-19Recommends
    It 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”
  8. Submitted Please Stop Using Barrel Files as a story · 5 points

    HN discussion
  9. Submitted Tooltip Components Should Not Exist as a story · 4 points

    HN discussion
  10. Submitted The Vertical Codebase as a story · 3 points

    HN discussion
  11. Submitted The Beauty of TanStack Router as a story · 3 points

    HN discussion
  12. Submitted Working with Zustand as a story · 3 points

    HN discussion
  13. Submitted Hooks, Dependencies and Stale Closures as a story · 3 points

    HN discussion
  14. Submitted Hooks, Dependencies and Stale Closures as a story · 3 points

    HN discussion
  15. Submitted The Vertical Codebase as a story · 2 points

    HN discussion
  16. Submitted XState Store – TkDodo's Blog as a story · 2 points

    HN discussion
  17. Submitted Type-Safe React Query as a story · 2 points

    HN discussion
  18. Submitted React Query meets React Router (v6.4) as a story · 2 points

    HN discussion
  19. Submitted The Vertical Codebase as a story · 1 points

    HN discussion
  20. Submitted The Vertical Codebase as a story · 1 points

    HN discussion
  21. Submitted Building Type-Safe Compound Components as a story · 1 points

    HN discussion
  22. Submitted Avoiding Hydration Mismatches with UseSyncExternalStore as a story · 1 points

    HN discussion
  23. Submitted Array Types in TypeScript as a story · 1 points

    HN discussion
  24. Submitted Type-Safe React Query as a story · 1 points

    HN discussion
  25. Submitted Using WebSockets with React Query as a story · 1 points

    HN discussion

Search all of HN for tkdodo.eu

Linked by the same people?