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

  • 导航怎么知道红灯即将变绿?其实很简单

    导航怎么知道红灯即将变绿?其实很简单

  • 怎么取消华为微信步数关联(怎么取消华为微信密码锁屏)

    怎么取消华为微信步数关联(怎么取消华为微信密码锁屏)

  • 苹果ipad后背刮了(ipad后壳掉漆怎么处理)

    苹果ipad后背刮了(ipad后壳掉漆怎么处理)

  • xr网速不好怎么解决(iphonexr网慢怎么办)

    xr网速不好怎么解决(iphonexr网慢怎么办)

  • 苹果手机合约版和无需合约版的区别(苹果手机合约版和标准版的区别)

    苹果手机合约版和无需合约版的区别(苹果手机合约版和标准版的区别)

  • 蜂鸟众包注销后多久可以注册(蜂鸟众包注销后多久可以注册是新人么)

    蜂鸟众包注销后多久可以注册(蜂鸟众包注销后多久可以注册是新人么)

  • win7电脑esc在哪(电脑的esc)

    win7电脑esc在哪(电脑的esc)

  • 手机进不了系统界面是什么原因(手机进不了系统界面怎么办)

    手机进不了系统界面是什么原因(手机进不了系统界面怎么办)

  • 鼠标滚轮突然没有阻力了(鼠标滚轮突然没阻力怎么回事)

    鼠标滚轮突然没有阻力了(鼠标滚轮突然没阻力怎么回事)

  • 根据订单号能查到商品吗(根据订单号能查出买的什么东西吗)

    根据订单号能查到商品吗(根据订单号能查出买的什么东西吗)

  • 苹果usb充电设置(苹果usb充电怎么设置)

    苹果usb充电设置(苹果usb充电怎么设置)

  • 电视连接wifi用什么信源(电视连接WiFi用户名是什么)

    电视连接wifi用什么信源(电视连接WiFi用户名是什么)

  • 苹果11g开头是哪里生产(苹果11g0开头)

    苹果11g开头是哪里生产(苹果11g0开头)

  • word怎么添加字体(word怎么添加字体包)

    word怎么添加字体(word怎么添加字体包)

  • 双系统手机有什么品牌(双系统手机好不好)

    双系统手机有什么品牌(双系统手机好不好)

  • 华为mate30需要贴膜吗(华为mate30需要贴屏幕膜吗)

    华为mate30需要贴膜吗(华为mate30需要贴屏幕膜吗)

  • qq影音压缩视频清晰吗(QQ影音压缩视频)

    qq影音压缩视频清晰吗(QQ影音压缩视频)

  • vue怎么设置分阶段时间(vue 分组)

    vue怎么设置分阶段时间(vue 分组)

  • 苹果6有没有128g(苹果6有没有128G内存的?)

    苹果6有没有128g(苹果6有没有128G内存的?)

  • etc读卡出错怎么回事(etc读卡出错什么原因)

    etc读卡出错怎么回事(etc读卡出错什么原因)

  • 计算机中加减乘除叫什么键(计算机中加减乘除统称什么键)

    计算机中加减乘除叫什么键(计算机中加减乘除统称什么键)

  • 微信里的猫眼怎么退出登录(微信里的猫眼怎么退票)

    微信里的猫眼怎么退出登录(微信里的猫眼怎么退票)

  • mp1709是什么手机型号(mp1701是什么手机型号)

    mp1709是什么手机型号(mp1701是什么手机型号)

  • ios版迅雷如何安装(ios迅雷怎么直接下载)

    ios版迅雷如何安装(ios迅雷怎么直接下载)

  • 热点怎么设置一个人用(热点怎么设置一个人用华为)

    热点怎么设置一个人用(热点怎么设置一个人用华为)

  • Win10锁屏界面不能设置怎么办(win10锁屏界面不能输入密码)

    Win10锁屏界面不能设置怎么办(win10锁屏界面不能输入密码)

  • elccest.exe是间谍广告程序吗 elccest进程有什么作用

    elccest.exe是间谍广告程序吗 elccest进程有什么作用

  • 旅游公司的账务框架
  • 房产租赁增值税率是5%还是9%
  • 营业外支出影响利润
  • 滴滴发票抬头怎么填
  • 收到短期贷款会计分录
  • 增值税会计核算设置的会计科目有哪些
  • 作为一个财务 月末要做什么
  • 运输公司赔偿计入什么科目
  • 纳税调整税收金额
  • 个人所得税是否分段计算
  • 代驾费开增值税专票还是普票?
  • 社保可以在税前扣除吗
  • 已缴契税是否可以在土地增值税扣除?
  • 外资企业所得税优惠政策
  • 个人之间的房屋抵押需要去房管局做登记吗
  • 资产负债表损益表现金流量表
  • 填制和审核凭证是什么意思
  • 股权转让交的印花税怎么做会计分录
  • 事业单位存货包括
  • 上月发票冲销怎么弄
  • 个税是应发工资扣,还是实发工资扣
  • 离职后绩效奖金应该按照整月发吗
  • 公务接待和商务接待自查
  • 高新企业研发费用占销售收入的比例
  • 笔记本电脑如何恢复出厂系统
  • nvsvc.exe - nvsvc是什么进程 有什么用
  • 圣克鲁斯群岛海战百度百科
  • 坏账减值准备账务处理
  • 现金解款单怎么读
  • 合伙搞养殖
  • php throw
  • laravel distinct
  • symfony框架经验总结
  • 金蝶利润表主营业务成本公式
  • 天猫提现不走对公2023
  • 年度成本费用总额公式
  • vue中computed作用
  • nginx gui
  • php实现批量删除
  • 外贸公司美金账户维护费用
  • 单位社保年底清算
  • {dede:channel type='son'}无栏目调用同级栏目
  • 支付委托加工费的记账凭证
  • 公司购入的发明产品
  • 水电费分割单能报销吗
  • 个人所得税手续费比例
  • 贷款利息收入如何计算
  • 长期股权投资被投资方实现净利润
  • 项目评审结果
  • 母子公司往来款属于借款吗
  • 开办费新会计准则
  • 产品的包装费属于什么科目?
  • 成本不够如何计算出来
  • 公司固定资产报废申请范文
  • 查账征收的含义
  • 福利费与工会经费使用区别
  • 一般纳税人网上申报流程
  • 月末怎么计提摊销和结转
  • 普票的销项负数怎么开
  • 应收账款属于流动负债项目吗
  • mysql数据库遇到的故障及分析
  • win7系统远程
  • kb5003169安装失败
  • 在windows中用户建立的文件默认具有的属性是
  • GhostXP装机版v3.0
  • centos 做bond
  • win7电脑视频预览图如何显示出来
  • win8应用商店下载
  • Linux中systemd target命令使用详解
  • oem预装系统
  • js如何使用
  • 用css滤镜实现的代码
  • 微信公众号开发多少钱
  • 深入理解新发展理念
  • python for windows
  • 沉浸式状态栏xposed模块
  • 2020年增值税运费税率是多少
  • 税务关系转移社保怎么办理
  • 娱乐会所一般有什么
  • 怎么打印个人所得税扣缴申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设