位置: 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迁移)

  • 京东慧采平台入驻哪里办(京东慧采平台入驻渠道)

    京东慧采平台入驻哪里办(京东慧采平台入驻渠道)

  • v1930a是什么型号(v1932a是什么型号)

    v1930a是什么型号(v1932a是什么型号)

  • 手机黑屏按哪都没反应怎么办(手机黑屏按什么键都没反应)

    手机黑屏按哪都没反应怎么办(手机黑屏按什么键都没反应)

  • 华为p40有北斗导航系统吗(华为p40有北斗导航功能吗)

    华为p40有北斗导航系统吗(华为p40有北斗导航功能吗)

  • 路由器ssid怎么打开(路由器ssid怎么选择)

    路由器ssid怎么打开(路由器ssid怎么选择)

  • bn45是小米那款手机电池(小米bn44是什么型号的电池)

    bn45是小米那款手机电池(小米bn44是什么型号的电池)

  • 关闭拼小圈好友能看到吗(关闭拼小圈好友能看见曾经购买过吗)

    关闭拼小圈好友能看到吗(关闭拼小圈好友能看见曾经购买过吗)

  • 拼多多商家直播回放怎么删除(拼多多商家直播悬浮窗怎么关闭)

    拼多多商家直播回放怎么删除(拼多多商家直播悬浮窗怎么关闭)

  • 三星note10+需要贴膜吗(三星note10需要贴膜吗)

    三星note10+需要贴膜吗(三星note10需要贴膜吗)

  • 手机屏幕最大的是哪款(手机屏幕最大的是多少寸)

    手机屏幕最大的是哪款(手机屏幕最大的是多少寸)

  • qq群在手机上怎么分组(手机qq群怎么群发消息)

    qq群在手机上怎么分组(手机qq群怎么群发消息)

  • 什么是微信网格群(微信网格背景图)

    什么是微信网格群(微信网格背景图)

  • 无id锁是什么意思(无锁无id)

    无id锁是什么意思(无锁无id)

  • 手机屏中间鼓起来了怎么回事(手机屏中间鼓起一个包)

    手机屏中间鼓起来了怎么回事(手机屏中间鼓起一个包)

  • word怎么设置整页底纹 (word怎么设置整个文档字体)

    word怎么设置整页底纹 (word怎么设置整个文档字体)

  • 红米note7wifi断流如何解决(红米note wifi断流)

    红米note7wifi断流如何解决(红米note wifi断流)

  • 小度在家可以绑定几个手机(小度在家可以绑定微信吗)

    小度在家可以绑定几个手机(小度在家可以绑定微信吗)

  • iwatch如何取消配对(怎么把iwatch取消配对)

    iwatch如何取消配对(怎么把iwatch取消配对)

  • 华为p20otg开关在哪(华为p20ot g在哪儿打开)

    华为p20otg开关在哪(华为p20ot g在哪儿打开)

  • 如何取消qq自动回复(如何取消qq自动回复功能)

    如何取消qq自动回复(如何取消qq自动回复功能)

  • 在系统日历中不显示“其他日历”(日历怎么不能添加事件了)

    在系统日历中不显示“其他日历”(日历怎么不能添加事件了)

  • win10开机强制进入安全模式黑屏解决方法(win10开机强制进入安全模式重置)

    win10开机强制进入安全模式黑屏解决方法(win10开机强制进入安全模式重置)

  • dedecms SQL注入漏洞(sql注入漏洞不会出现在哪个位置)

    dedecms SQL注入漏洞(sql注入漏洞不会出现在哪个位置)

  • 电脑学习网教大家2022年最新WordPress官方微信支付接口设置傻瓜设置教程-OK源码教学(网上学电脑哪个软件好)

    电脑学习网教大家2022年最新WordPress官方微信支付接口设置傻瓜设置教程-OK源码教学(网上学电脑哪个软件好)

  • 无需外汇局审批的账户
  • 无形资产属于货币性项目吗
  • 个体户收现金可以开发票吗
  • 小微企业税务服务站
  • 用友T3怎么结转上年数据
  • 房产出租增值税税目
  • 简易征收的老项目是指什么时候
  • 自行研发的无形资产会计处理
  • 给员工购买意外险进项税能不能抵扣
  • 经常性支出是什么意思
  • 留抵税额抵减欠税文件
  • 公司支付宝扣的钱去哪了
  • 以前年度长期股权投资漏记调整
  • 初始数据试算表不平衡的原因
  • 工业总产值填报原则
  • 会员费怎么记账
  • 企业所得税根据什么报表申报
  • 小规模季度超过30万是全额纳税吗
  • 发票的审核之真假发票的查验
  • 补缴地价款是什么意思
  • 增值税进项大于销项月末需要结转吗
  • 企业汇算清缴前的票可以入账吗
  • 支票发生退票
  • 承兑汇票重复背书
  • 汽车罚款怎么进账
  • macbook和ipad怎么互通屏幕
  • 蝾螈白话怎么读
  • 小孩不爱吃蔬菜怎么办?
  • php fgetcsv
  • php如何读取文件内容
  • 企业工资薪金和职工福利费等支出税前扣除问题的公告
  • thinkphp exec
  • 无进项开发票
  • 科目余额表平了但资产负债表不平
  • 携程首页
  • node.js安装步骤
  • 跟踪数据包命令
  • 支付境外佣金税收政策
  • 筹建期的财务费用计入
  • 主营营业成本会计分录
  • 保教费属于什么收入
  • 企业注销时实收资本没有到位要紧吗
  • 支付员工工伤医疗费用怎么做账
  • 现金预算表中的归还借款和支付利息怎么算
  • 换电脑了怎么办
  • 债权投资利息收入调增还是调减
  • 高新技术企业认定中介机构
  • 融资租入固定资产的租赁费属于什么费用
  • 白酒系列代理
  • 私人账户可以打钱到公司账户吗
  • 现金不够老板垫钱怎么办
  • 赞助费入账需要多久
  • 公司暂估成本分录
  • 支付宝扣手续费是怎么回事
  • 机票行程单可以抵扣进项税吗?
  • win7系统摄像头打不开
  • win8.1怎么重新装系统
  • 的四个步骤
  • .exe是什么软件
  • centos如何查看所有用户
  • win8有几个版本
  • windows10出现飞行模式怎么办
  • 禁用远程桌面服务登录
  • win8系统怎么安装软件
  • win10 outlook邮箱设置教程
  • opengl控制物体移动
  • 深入剖析kubernetes pdf
  • 关于cocos2dx空包的大小测试
  • cocos creator构建发布
  • cocos2djs
  • js class属性
  • ie6怎么设置兼容性
  • vuerouter嵌套路由
  • node.js中的http.response.setHeader方法使用说明
  • python变量与数据类型
  • 猫猫的游戏
  • javascript数组的常用方法
  • python中编写程序
  • 什么叫党员双报到
  • 延安市地方税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设