位置: IT常识 - 正文

React 上下文(react 上下文hooks内容存储到本地)

编辑:rootadmin
在React中上下文是一种通信方案。 上下文的特点 在组件树中,是一种自上而下的单向数据流通信方案,数据只能从父组件注入,在子组件中访问。 组件关系只要满足“父组件-后代组件”这种关系时,都可以使用上下文通信。 在父组件中provide提供数据,在后代组件中注入并使用,这种通信不具有响应式,有点像v ...

推荐整理分享React 上下文(react 上下文hooks内容存储到本地),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react document,react上下文对象,react 上下文hooks内容存储到本地,react contextmenu,react上下文对象,react 上下文hooks内容存储到本地,react上下文,react 上下文hooks内容存储到本地,内容如对您有帮助,希望把文章链接给更多的朋友!

React 上下文(react 上下文hooks内容存储到本地)

在React中上下文是一种通信方案。

上下文的特点在组件树中,是一种自上而下的单向数据流通信方案,数据只能从父组件注入,在子组件中访问。组件关系只要满足“父组件-后代组件”这种关系时,都可以使用上下文通信。在父组件中provide提供数据,在后代组件中注入并使用,这种通信不具有响应式,有点像vue中的provide/inject通信。如何使用上下文

使用const{Provider,Consumer} = Raact.createContext()get="_blank">创建上下文。

使用<Provider value={}></Provider>向组件树中提供数据。

在后代组件中使用<Consumer>{(context)=>(jsx/)}</Consumer>访问上下文数据。

如果后代组件是类组件,可以使用Page.contextType = ThemeContext访问上下文数据。使用上下文穿透和上下文通信的区别props穿透必须清楚组件之间的关系,上下文只要满足“父组件-后代组件”关系。props适合父子关系明显的组件通信,上下文关系适合父子关系不明确的组件通信。props穿透会导致后代组件的props变得臃肿,上下文通信更加直接方便。上下文通信在那些场景遇到路由中会用到上下文通信状态管理中组件库中,切换主题色,切换组件大小等国际化中使用上下文封装拾色器import { PureComponent, useState } from "react"//创建上下文对象const ThemeContext = React.createContext()const{Consumer,Provider} = ThemeContextclass App extends PureComponent{ render(){ return( <Consumer> { (context) => { console.log(context) return( <div style={context}> <h1>555</h1> </div> ) } } </Consumer> ) }}//封装拾色器function ThemeToggle({value, onChange}){ const change = (ev) =>{ const key = ev.target.name // console.log('key',key); const val = ev.target.value // console.log('val',val); //把变化后的主题色回传给父组件 onChange({...value, [key]:val}) } return( <> <div> <label >前景色</label> <input type="color" name="color" value={value.color} onChange={change} /> <label >背景色</label> <input type="color" name="background" value={value.background} onChange={change} /> </div> </> )}function A(){ const[color ,setColor] = useState({color:'#000000',background:'#000000'}) return( <Provider value={color}> <h1>拾色器</h1> <App /> <ThemeToggle value={color} onChange={ev=>setColor(ev)} /> </Provider> )}export default A
本文链接地址:https://www.jiuchutong.com/zhishi/313188.html 转载请保留说明!

上一篇:帝国伪静态Apache的Rewrite如何设置(帝国cms伪静态规则)

下一篇:phpcms如何设置导航(phpcms迁移)

  • 从农民手中收购粮食如何计算进项税
  • 印花税缴纳方式一经选择1年之内不得修改
  • 小规模多计提增值税税率
  • 防伪税控风险纳税人财务负责人和法人同一人
  • 季报利润表本月金额和本年累计金额
  • 以前年度损益调整科目怎么用
  • 油费可以抵扣进项税额
  • 已出库未开票未收款会计分录
  • 生产型增值税转变为消费型增值税
  • 去年多计提了费用今年怎么办
  • 网吧卖出那些零食怎么卖
  • 什么费用计入什么科目
  • 企业店铺开发票可以要求补税点吗?
  • 小规模无进项发票,需要开1%专票,税点是多少
  • 小微企业的免税标准
  • 列举20种不征增值税产品
  • 消费税的征税范围有哪些?
  • 实际缴纳的增值税比计提的多
  • 一般纳税人十万以下免教育费附加
  • 一张发票上可以开几行
  • 冲红发票开错了怎么办
  • 企业在项目建设前必须进行
  • 小规模没有发票可以入账吗
  • 解放双手神器说说
  • 苹果助手hi
  • 手把手教你win7换主板不重装系统的方法
  • 忘记用户登录密码怎么办
  • 债务利率的公式
  • 长期贷款利息怎样计算
  • 纳税人如何申请延期缴纳税款
  • 企业所得税费用扣除比例
  • 资产减值损失的借贷方向
  • neoCopy.exe - neoCopy是什么进程 有什么用
  • element栅格布局
  • 即征即退增值税属于政府补助吗
  • siri怎么重置主人声音ios13
  • react组件库有哪些
  • 2023年前端开发找工作好找吗
  • 电子专用发票抵扣
  • 收到抵扣发票怎么做分录
  • phpcms作者名不显示怎么解决
  • mysql中文乱码怎样用代码解决
  • 电脑word怎么学
  • 织梦标签教程
  • 滞纳金是
  • 含税与不含税的计算公式
  • sql server 2008简介
  • 小规模纳税人免税政策2023年
  • 一般纳税人季度所得税怎么计算
  • 出口收汇核销单的作用
  • 预借差旅费的借贷方
  • 新成立公司会计要做哪些事情
  • 明细分类账有哪三种
  • 改制基准日对人员的影响
  • mysql安装出问题
  • sql切割字段
  • YunDetectService.exe是什么进程?YunDetectService.exe禁止使用的方法
  • 滑动关闭电脑功能按键在哪找
  • win10系统如何查看激活状态
  • linux怎么自定义命令
  • 字符集 linux
  • android7应用程序开发教程
  • win8有几个版本
  • win7系统代理在哪里设置
  • Win7开机黑屏只有鼠标,进入安全模式也是黑屏
  • unix系统常用命令大全
  • linux链接ln
  • python中列表的遍历
  • jquery jwt
  • javascript的弹窗
  • unity3d mod
  • 深入python3
  • 民办非企业单位登记管理暂行条例
  • 以划拨方式取得的土地使用权
  • 交通费用包括
  • 成品油消费税税率包括哪些
  • 河南地税网上税务局
  • 2023年新乡契税补贴政策
  • 山东税务社保缴纳进入小程序
  • 营改增之前和之后
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设