I Thought Normalized State Would Fix My Re-render Problem. It Didn't.
I was building a Kanban board called Kantoo and hit a classic React performance problem. This is what I tried, what didn't work, and what actually fixed it. What I Built First I went with a normali...

Source: DEV Community
I was building a Kanban board called Kantoo and hit a classic React performance problem. This is what I tried, what didn't work, and what actually fixed it. What I Built First I went with a normalized state architecture managed through useReducer. The idea was simple: instead of deeply nested state, keep everything flat. Each column and card lives in its own lookup object, and you reference them by ID. It felt clean. The Problem Even with normalized state, two things were going wrong. A single card update was causing every component on the board to re-render, including columns that had nothing to do with that card. I could see it clearly in React DevTools Profiler. The render time for a single card move was sitting at around 55ms. I was also passing data to components that didn't need it. Some components were receiving data purely so they could pass it further down, even though they didn't use it themselves. Just middlemen adding to the problem. My First Idea: React Context My first th