---
title: "Discussion on \"State Management: Context API, Prop Drilling, React.memo, useMemo, and useCallback\" | Hashnode"
description: "Discussion on \"State Management: Context API, Prop Drilling, React.memo, useMemo, and useCallback\". A guide for beginners to understand common react problems like prop drilling\n\nSolutions to these problems and when those solutions shouldn't be used"
url: "https://hashnode.com/posts/state-management-context-api-prop-drilling-react-memo-usememo-and-usecallback/6a84add052994f879090d75a"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [State Management: Context API, Prop Drilling, React.memo, useMemo, and useCallback](https://vedpandeydev.hashnode.dev/state-management-context-api-prop-drilling-react-memo-usememo-and-usecallback?utm_source=hashnode&utm_medium=feed)

A guide for beginners to understand common react problems like prop drilling Solutions to these problems and when those solutions shouldn't be used

Aug 18 · 18 min read · vedpandeydev.hashnode.dev  
Updated Aug 26  
Read the article

-   [#chaicode](https://hashnode.com/tag/chaicode)
-   [#reactjs](https://hashnode.com/tag/reactjs)
-   [#js](https://hashnode.com/tag/js)
-   [#javascript](https://hashnode.com/tag/javascript)
-   [#scalability](https://hashnode.com/tag/scalability)
-   [#react](https://hashnode.com/tag/react)
-   [#usememo](https://hashnode.com/tag/usememo)
-   [#usecallback](https://hashnode.com/tag/usecallback)
-   [#context-api](https://hashnode.com/tag/context-api)
-   [#frontend-development](https://hashnode.com/tag/frontend-development)

## Written by

[Ved Pandey](https://hashnode.com/@Ved-Pandey)

@Ved-Pandey · Sultanpur, Uttar Pradesh, India

  
[View profile](https://hashnode.com/@Ved-Pandey)

Passionate & Curios Developer

Hey everyone, my name is Ved and I am a passionate and curios developer, Currently learning and sharing my learnings in the best and easiest way possible

## Responses 3

Markdown supported · ⌘↵ to post

[Tarun Sharma](https://hashnode.com/@101beardo)

[Aug 23](https://hashnode.com/posts/state-management-context-api-prop-drilling-react-memo-usememo-and-usecallback/6a84add052994f879090d75a/comment/6a8a9f9d650337299331bcfa)

Really thorough breakdown, this covers more ground than most Context explainers. One gap worth adding for beginners specifically, every component that calls useContext(ThemeContext) re-renders when the provider value changes, even if that component only reads one field out of an object with five. If you bundle theme, user, and notifications into one AppContext for convenience, updating notifications re-renders every theme reader too. Splitting into separate contexts per concern, or memoizing the value object, is the fix, and it's the kind of thing that bites people right after they've just learned Context and start putting everything in one provider

[Ved Pandey](https://hashnode.com/@Ved-Pandey)

[Aug 26](https://hashnode.com/posts/state-management-context-api-prop-drilling-react-memo-usememo-and-usecallback/6a84add052994f879090d75a/comment/6a8a9f9d650337299331bcfa#reply-6a8ed00c940d0be2050a134e)

Thanks for the kind words and feedback 😊 Added that section 👍

[Tarun Sharma](https://hashnode.com/@101beardo)

[Aug 30](https://hashnode.com/posts/state-management-context-api-prop-drilling-react-memo-usememo-and-usecallback/6a84add052994f879090d75a/comment/6a8a9f9d650337299331bcfa#reply-6a9430f540439c7c6df10274)

Nice, glad it was useful.
