React Context 是用于 跨组件共享状态 的核心机制,特别适合全局状态管理场景。通过 Context,可以避免 props 层层传递的繁琐,提升代码可维护性。
基本用法 ✅
创建 Context
使用React.createContext()
定义上下文对象,例如:const ThemeContext = React.createContext();
Provider 包裹子组件
在顶层组件中通过Provider
传递值,例如:<ThemeContext.Provider value="dark"> <App /> </ThemeContext.Provider>
Consumer 获取值
在子组件中通过Consumer
订阅上下文,例如:<ThemeContext.Consumer> {(theme) => <p>当前主题:{theme}</p>} </ThemeContext.Consumer>
实战案例 🛠️
以「主题切换」为例,通过 Context 实现全局样式切换:
- 定义上下文:
ThemeContext
- 创建 Provider 组件:
ThemeProvider
- 在子组件中使用 Consumer 动态渲染 UI
- 结合 CSS 变量实现样式隔离
注意事项 ⚠️
- 避免滥用 Context,过度使用可能导致组件间耦合度升高
- 对于复杂状态管理,建议结合 Redux 使用
- Context 与 Hooks 结合时需注意性能优化
扩展学习 📚
想深入了解 Context API 的高级特性?
👉 点击这里查看 Context API 深度解析