React 的 Context API 是一种无需 prop drilling的全局状态管理方案,常用于传递主题、用户权限等跨层级数据。以下是核心知识点:
📌 基本用法
创建 Context
const MyContext = React.createContext();
React_Context_APIProvider 提供数据
在顶层组件包裹MyContext.Provider
,通过value
属性传递数据:<MyContext.Provider value={{ theme: 'dark' }}> <App /> </MyContext.Provider>
Consumer 获取数据
在子组件中通过MyContext.Consumer
直接消费数据:<MyContext.Consumer> {(context) => <div>当前主题:{context.theme}</div>} </MyContext.Consumer>
🧠 使用场景
- 全局变量(如语言、主题)的传递
- 避免多层嵌套 prop 传递
- 替代 Redux 简单场景(不推荐复杂状态管理)
⚠️ 注意事项
- 不要过度使用:Context API 会引发组件间隐式依赖,影响可维护性
- 性能优化:使用
useMemo
或useCallback
包裹 value 避免重复渲染 - 类型安全:配合 TypeScript 定义 Context 类型
📚 进阶学习
想深入了解如何结合 Redux 使用 Context API?
点击查看 React 与 Redux 联合使用教程
Context_Provider_Example
(图示:Context Provider 层级结构)