<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5" -->

---
title: backend basics: what i learned(part 11) | daily.dev
description: React performance is fundamentally an architectural problem, not a checklist of techniques. The core issue is over-global design — when too many components are...
canonical: https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: backend basics: what i learned(part 11) | daily.dev
og:description: React performance is fundamentally an architectural problem, not a checklist of techniques. The core issue is over-global design — when too many components are...
og:url: https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5
og:image: https://api.daily.dev/og/posts/9KXcLOmS5.png
og:image:alt: backend basics: what i learned(part 11)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# backend basics: what i learned(part 11)

**[Medium](https://daily.dev/sources/medium_js)** · 4 min read · 0 upvotes · 0 comments

## Summary

React performance is fundamentally an architectural problem, not a checklist of techniques. The core issue is over-global design — when too many components are coupled to the same data, even small state changes trigger expensive re-renders. The right approach is to minimize the blast radius of updates through state splitting, context splitting, and feature isolation. Memoization tools like React.memo, useMemo, and useCallback are fine-tuning tools that only help once the architecture is sound. Lazy loading is framed as a product/UX decision about what users need immediately, virtualization protects the browser from rendering thousands of DOM nodes, and identity instability (inline objects/functions) causes silent unnecessary re-renders. In large apps, performance thinking shifts from individual components to system-level data flow boundaries and update impact radius.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://gitanjalisoni.medium.com/backend-basics-what-i-learned-part-11-6a7ec3d3bdd6>

## Questions this post answers

### Why does React.memo not fix performance issues in my app even after adding it everywhere?

React.memo, useMemo, and useCallback are fine-tuning tools, not fixes for structural problems. If the underlying architecture has too many components unnecessarily coupled to the same shared state, memoization cannot compensate: bad structure still causes cascading re-renders. Architecture should be addressed first, with memoization applied afterward to avoid redundant work in an already well-isolated system.

_daily.dev surfaces practical react architecture writeups for developers debugging stubborn re-render issues._

### Why do my React components re-render even when the data passed to them looks the same?

New object, array, or function references trigger re-renders even when the underlying data is logically unchanged, because React compares references rather than deep equality. Inline objects, inline functions, and unstable props are common culprits that quietly create unnecessary re-renders, since each render produces a new identity that React interprets as a change signal.

_Developers chasing silent react rendering bugs can find deeper explainers like this on daily.dev._

## Similar posts on daily.dev

- [Why React.memo Doesn’t Fix Most Performance Problems \(And What Senior Engineers Do Instead\)](https://daily.dev/posts/why-react-memo-doesn-t-fix-most-performance-problems-and-what-senior-engineers-do-instead--xcasdkwfu) · Medium · 22 upvotes · 4 comments
- [React Basics: Memoization in React](https://daily.dev/posts/react-basics-memoization-in-react-ptipunthh) · Telerik · 2 upvotes · 0 comments
- [State Management in React: Prop Drilling, Context API, React.memo, useMemo, and useCallback](https://daily.dev/posts/state-management-in-react-prop-drilling-context-api-react-memo-usememo-and-usecallback-gk6mwanyb) · Medium · 2 upvotes · 0 comments
- [Stop Blaming React for Your State Management Hangover](https://daily.dev/posts/stop-blaming-react-for-your-state-management-hangover-32bzdhdbc) · The New Stack · 2 upvotes · 0 comments

---

Tags: [#react](https://daily.dev/tags/react), [#performance](https://daily.dev/tags/performance), [#architecture](https://daily.dev/tags/architecture)

[View this post on daily.dev](https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"backend basics: what i learned(part 11)","url":"https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5"},"datePublished":"2026-07-23T02:07:53.159Z","dateModified":"2026-09-13T21:30:51.306Z","description":"React performance is fundamentally an architectural problem, not a checklist of techniques. The core issue is over-global design — when too many components are...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6e1c278a5730f482b6e6a4ebe7b29096?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6e1c278a5730f482b6e6a4ebe7b29096?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"react,performance,architecture","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"backend basics: what i learned(part 11)"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/backend-basics-what-i-learned-part-11--9kxcloms5#faq","mainEntity":[{"@type":"Question","name":"Why does React.memo not fix performance issues in my app even after adding it everywhere?","acceptedAnswer":{"@type":"Answer","text":"React.memo, useMemo, and useCallback are fine-tuning tools, not fixes for structural problems. If the underlying architecture has too many components unnecessarily coupled to the same shared state, memoization cannot compensate: bad structure still causes cascading re-renders. Architecture should be addressed first, with memoization applied afterward to avoid redundant work in an already well-isolated system. daily.dev surfaces practical react architecture writeups for developers debugging stubborn re-render issues."}},{"@type":"Question","name":"Why do my React components re-render even when the data passed to them looks the same?","acceptedAnswer":{"@type":"Answer","text":"New object, array, or function references trigger re-renders even when the underlying data is logically unchanged, because React compares references rather than deep equality. Inline objects, inline functions, and unstable props are common culprits that quietly create unnecessary re-renders, since each render produces a new identity that React interprets as a change signal. Developers chasing silent react rendering bugs can find deeper explainers like this on daily.dev."}}]}
```

