当前位置: 首页 > news >正文

React Hooks之useContext使用

官方文档写道:在组件的顶层调用 useContext 来读取和订阅 context。

我理解就是一个“全局变量”的概念。它可以用来声明一个变量,然后在各个组件中使用,避免了props一级一级往下传,当然使用场景有限,比如设置一个主题背景色,按钮样式定制…这种可以使用。

代码示例:

import { createContext } from 'react'// 创建一个Context对象,它本身不包含任何信息,它只代表你可以提供或从组件中读取的信息类型
// 'red' 是默认值 当没有Provider组件时会使用这个默认值
const { Provider, Consumer } = createContext('red')function ContextDemo() {return (/* Provider组件  将当前的value传递给以下组件如果value不写,默认是undefined*/<Provider value={'pink'}><Toolbar /></Provider>)
}function Toolbar() {return <ThemedButton />
}function ThemedButton() {/* Consumer消费组件 可以订阅到value的改变此处的theme就是往上查找最近的Provider组件提供的value值*/return <Consumer>{theme => <button style={{ background: theme }}>按钮颜色:{theme}</button>}</Consumer>}export default ContextDemo

个人学习笔记📒

http://www.lryc.cn/news/213680.html

相关文章:

  • 多模态对比语言图像预训练CLIP:打破语言与视觉的界限
  • 使用s3cmd访问S3存储 -【真实案例】
  • 51单片机复位电容计算与分析(附带Proteus电路图)
  • 前端性能瓶颈崩溃项目?Webpack助力解决!
  • 纷享销客BI,助力企业激活数据价值,科学企业决策
  • SpringBoot整合阿里云OSS对象存储
  • 【ES专题】ElasticSearch快速入门
  • 案例分析真题-质量属性
  • 微信小程序面试题之理论篇
  • C++前缀和算法的应用:统计上升四元组
  • 华泰证券:新奥能源:零售气待恢复,泛能与智家仍是亮点
  • FPGA与ASIC有什么差异?二者该如何选用?
  • Kotlin run 用法
  • iZotope RX 10(音频修复和增强工具)
  • MES 价值点之数据追随
  • yolo8制作自己的数据集训练和预测分割
  • 分享一下怎么做一个同城配送小程序
  • Qt 中model/View 架构 详解,以及案例实现相薄功能
  • 提高微星笔记本Linux下散热性能,MSI-EC 驱动新补丁发布
  • Apache Doris (五十): Doris表结构变更-动态分区(2)
  • AntDB数据库荣获 “2023年信创物联网优秀服务商”
  • uniapp 使用 UDP
  • 苹果相机怎么磨皮 苹果手机怎么磨皮
  • spring boot导入导出excel,集成EasyExcel
  • 【错误解决方案】ModuleNotFoundError: No module named ‘zarr‘
  • 什么是集成测试?
  • Linux———— 运算命令
  • 批量去除pdf每一页相同未知的同样的内容
  • HCIA数据通信——静态路由
  • Fourier分析导论——第2章——Fourier级数的基本属性(E.M. Stein R. Shakarchi)