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

  • 现代服务是可以做什么的
  • 企业注销涉及的法律问题
  • 小规模纳税人开工程款税率是多少
  • 装修行业开票税率
  • 一般纳税人留底税额抵减欠缴税额
  • 出口的港杂费包括哪些
  • 其他债权投资减值准备影响账面价值吗
  • 公益捐赠流程图
  • 固定资产折旧的会计处理
  • 职工福利费会计核算
  • 仓储费和仓储服务费的区别
  • 电梯安装费支付方式
  • 按简易办法计税销售额税率
  • 合伙企业需要交企业所得税吗?
  • 网络招聘合同
  • 企业发给职工的全年一次性奖金不缴纳个人所得税对吗
  • 文化事业建设税计算方法
  • 分公司负债,总公司要负担
  • 财务软件利润表没显示
  • 同一控制下合并日后合并报表的编制
  • 土地出让金产生的利息交契税吗
  • 招标需要交保证金吗
  • 报税时利润表没写怎么办
  • 增值税发票总金额是含税金额吗
  • 鸿蒙系统怎样关闭音乐
  • 收到上年度企业所得税退税款
  • 葛根泡水喝的七大功效
  • 文件pages
  • mac系统安装出错
  • 若依框架介绍
  • php数组统计函数
  • dgservice.exe是什么软件
  • 金鱼草的养殖方法和注意事项有哪些
  • 酒水入库的会计分录怎么做
  • 出口退税登记证在哪办
  • sigmoid函数求导表达式
  • 人工智能时代如何培养孩子
  • 自己买材料自己装修
  • 增值税已认证抵扣
  • php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
  • 保理属于什么行业分类
  • 生产加工型企业需要办理哪些证件
  • 客户的赔偿金会计分录
  • 发票纳税识别号和名称打印出来不齐怎么回事
  • 打车费的会计分录
  • sql server 2005安装在2016
  • mysql错误代码大全
  • 小规模季度等于几个月
  • 什么情况下提供个人征信
  • 销货清单是否必须备案
  • 小额支出的两种形式
  • sql server 2016 sp3
  • mysql数据控制语句
  • 其他应收款科目余额在贷方表示什么
  • 营业外收入需要缴纳印花税吗
  • 疫情防控重点保障物资生产企业可以按月
  • 无法支付的应付账款摘要怎么写
  • 发票不按实际数量单价开 但金额一致
  • 代发工资怎么算税
  • 支付关税现金流放哪儿
  • 个税滞纳金影响企业吗
  • 可供分配的利润分配顺序
  • 购买材料时如果没有取得购买材料的发票
  • 投资的公司注销了怎么做账
  • 货款已付,货未收到分录
  • 国库单一账户体系包括哪些账户
  • Windows Server 2016技术预览版第四版系统截图曝光 编号10565
  • 如何查看电脑型号及配置
  • win10共享提示
  • 2021年win10累积更新
  • airplay macbook
  • javaScript基础语法数据类型
  • quick-lua touch 触摸事件
  • node的全局变量有哪些
  • unity提高渲染画质
  • android ListView之——ArrayAdapter使用
  • 营改增之前建筑业税率是多少
  • 进口肉的税率是多少
  • 网上如何申请
  • 运输装卸费属于增值税价外费用吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设