已解决
React Hooks之useContext使用
来自网友在路上 183883提问 提问时间:2023-11-03 16:44:37阅读次数: 83
最佳答案 问答题库838位专家为你答疑解惑
官方文档写道:在组件的顶层调用 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
个人学习笔记📒
查看全文
99%的人还看了
相似问题
- Tekton — 通过tekton-operator部署tekton组件
- vue3中使用全局自定义指令和组件自定义指令
- HarmonyOS ArkTS 基础组件的使用(四)
- 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)
- Vue2系列 -- 组件自动化全局注册(require.context)
- 扩散模型实战(十一):剖析Stable Diffusion Pipeline各个组件
- django DRF认证组件示例
- MySQL内部组件与日志详解
- 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第五章 Element-Plus组件库安装和使用
- 修改el-radio-group样式,自定义单选组件
猜你感兴趣
版权申明
本文"React Hooks之useContext使用":http://eshow365.cn/6-31211-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!