[JS Pattern] Provider Pattern

Make data available to multiple child cpmpopnents to avoid prop drilling

Create a Context:

 

 

 

Hooks

We can create a hook to provide context to components. Instead of having to import useContext and the Context in each component, we can use a hook that returns the context we need.

function useThemeContext() {
    const theme = useContext(ThemeContext);
    
    if (!theme) {
      throw new Error("useThemeContext must be used within ThemProvider")
    }
    return theme;
}

 

Instead of wrapping the components directly with the TmemeContext.Provider component, we can create a HOC that adds returns this component with the provided values. This way, we can separate the context logic from the rendering components, which imporves the resuability of the provider.

 

 

[Note] From JS Patterns Book

 

posted @   Zhentiw  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-01-23 [AST Eslint] No console with schema options && isPrimitive
2020-01-23 [Javascript] Deep partial equal Object LooksLike
2020-01-23 [AST Eslint] No Console allowed
2020-01-23 [Algorithm] 234. Palindrome Linked List / Reverse linked list
2019-01-23 [Javascript] Write a Generator Function to Generate the Alphabet / Numbers
2019-01-23 [Javascript] Intercept property access with Javascript Proxy
2019-01-23 [Functional Programming 101] Crocks.js -- when to use map and when to use chain?
点击右上角即可分享
微信分享提示