context的使用

概念

一种组件间通信方式,常用于【祖组件】与【后代组件】间通信
应用开发过程中,一般不会使用context,一般都用它封装react插件

//1 创建Context容器对象:
cosnt XxxContext = React.createContext();
// 2 渲染子组件时,外面包裹XxxContext.provider,通过value属性给后代组件传递数据:
<xxxComponent.Provider value={数据}>子组件
</xxxComponent.Provider>
// 3 后代组件读取数据
// 写法一 
// 特点:简便、主要用在类组件
static contextType = xxxContext  //声明接收context
this.context //读取context中的value数据
// 写法二
// 特点:不需要this、可以接收多个context、主要用在函数组件
<xxxContext.Consumer>{value=>( //value就是context中的value数据要显示的内容)}
</xxxContext.Consumer>

实际应用


import React, { Component } from 'react';// 创建Context对象
const MyContext = React.createContext()
const { Provider, Consumer } = MyContext;class A extends Component {state = {name: 'tom',age:15}render() {const {name,age}= this.statereturn (<div><h2>组件A</h2><Provider value={{name,age}}><B/></Provider><hr /></div>);}
}class B extends Component {render() {//  console.log(this)return (<div><hr /><h2>组件B</h2><C/></div>);}
}// class C extends Component {
// // 声明接收
// static contextType = MyContext
//   render() {
//     const { name, age } = this.context;
//     return (
//       <div>
//          <hr />
//         <h2>组件C</h2>
//         <p>{name}-------{age}</p>//       </div>
//     );
//   }
// }function C (){return (<div><hr /><h2>组件C</h2><p><Consumer>{(value)=>(`${value.name}--------${value.age}`)}</Consumer></p></div>)}export default A;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

龙蜥开源Plugsched:首次实现 Linux kernel 调度器热升级 | 龙蜥技术

简介&#xff1a;对于plugsched而言&#xff0c;无论是 bugfix&#xff0c;还是性能优化&#xff0c;甚至是特性的增、删、改&#xff0c;都可胜任。 文/龙蜥社区内核开发人员 陈善佩、吴一昊、邓二伟 Plugsched 是 Linux 内核调度器子系统热升级的 SDK&#xff0c;它可以实现…

出家12年,北大数学天才柳智宇下山还俗:从事心理咨询,主动要求降薪至2万...

整理 | 于轩 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;提到北大数学天才&#xff0c;大家脑海中首先浮现的或许是有“北大扫地僧”之称的韦东奕。虽有“扫地僧”的称呼&#xff0c;但韦东奕并不是一位真正的僧人&#xff0c;相反&#xff0c;他的师兄&am…

启明创投合伙人叶冠泰:我对云原生投资趋势的思考 | 云原生加速器观点

简介&#xff1a;投资就是一种相信&#xff0c;要相信这个产业&#xff0c;这位企业家&#xff0c;通过我们的相信去传递给下一轮合作的投资人。“相信相信的力量”&#xff0c;我相信软件的未来&#xff0c;也相信软件在中国发展的力量。 作者 | 叶冠泰 3 月 3 日 - 4 日&am…

天翼云打造国云安全品牌 铸牢企业云上安全防线

9月7日&#xff0c;2022年国家网络安全宣传周在安徽省合肥市举办。活动期间&#xff0c;中国电信天翼云举办了云原生安全产品“红盾”系列介绍会&#xff0c;会议以“红云天翼 安全普惠”为主题&#xff0c;详细介绍了“红盾”系列产品的主要功能及优势等。 数字经济时代&…

让微服务开源更普惠,阿里云微服务引擎MSE全球开服

简介&#xff1a;MSE 于2020年10月在国内开启商业化服务&#xff0c;目前已吸引近万客户使用&#xff0c;用于在云上更低成本构建、更稳定运行微服务架构。此次&#xff0c;MSE 向阿里云国际站开放服务&#xff0c;旨在帮助更多客户享受到更加普惠的微服务技术。 随着微服务技…

nodejs系列

Nodejs介绍 Node.js是一个Javascript运行环境&#xff08;runtime&#xff09;。它让JavaScript可以开发后端程序&#xff0c;它几乎能实现其他后端语言能实现的所有功能。单线程Node是基于Google V8引擎&#xff0c;V8引擎是Google发布的一款开源的JavaScript引擎。Nodejs最擅…

Dubbo-go-Mesh 开启新一代 Go 微服务形态

简介&#xff1a;Proxyless Service Mesh 能力将跟随 Dubbo-go 下一版本发布&#xff0c;稳定的性能需要社区成员们共同的关注与建设。在此基础之上&#xff0c;我们还会进一步探索轻量级 sdk sidecar的模型&#xff1b;探索基于第三方流量治理组件的金丝雀发布能力&#xff1…

2022数据安全技术大会举办

9月6日&#xff0c;2022数据安全技术大会暨中国信息协会信息安全专业委员会年会在北京举行。本届大会由中国信息协会信息安全专业委员会主办、中国信息协会信息安全专业委员会数据安全技术工作部和天空卫士联合承办&#xff0c;逾3000家企业线上参与。 国家信息中心副主任周民…

css默认样式以及解决办法

display:inline-block元素之间存在缝隙如何解决&#xff1f; 父级添加font-size&#xff1a;0; 解决前 解决后 vertical-align是干嘛的&#xff1f; 属性设置元素的垂直对齐方式 场景&#xff1a;垂直对齐一幅图像 属性&#xff1a; baseline 默认。元素放置在父元素的基线…

如何发起 MQTT 亿级连接和千万消息吞吐性能测试

简介&#xff1a;MQTT 协议凭借简单易实现、支持 QoS、报文小等特点&#xff0c;占据了物联网协议的半壁江山。 作者&#xff1a;亦炎 随着 5G 时代的来临&#xff0c;万物互联的伟大构想正在成为现实。联网的物联网设备 在 2021 年已经达到了 120 亿&#xff0c;在未来两年&…

亚信安全勒索治理「方舟」正式上线, 勒索体检中心全面开放

&#xff08;引言&#xff1a;现代勒索病毒攻击已成为网络安全最大威胁&#xff0c;隐秘深&#xff0c;破坏力巨大&#xff01;如何能够做到提早防范&#xff0c;有效应对&#xff1f;&#xff09; 【亚信安全】-【2022年9月9日】亚信安全勒索治理「方舟」正式发布&#xff01…

阿里云云原生应用平台总经理丁宇:“连接、合作、赋能”,携手加速器伙伴助力企业云上创新

简介&#xff1a;阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇表示&#xff0c;如果用三个词来形容我们希望达到的效果&#xff0c;就是连接、合作、赋能。 云原生加速器路演导师评委 进入数智化时代&#xff0c;云上创新是企业加速数字化转型、提升竞争力的必经之路。…

ts基础认识

基础数据类型 number string bolean 字面量 值本身&#xff0c;例man,woman any 任意类型 unknown 实际上就是一个类型安全的any void 没有值或undefined never 表示永远不会返回结果 object ar…

聚焦业务价值:分众传媒在 Serverless 上的探索和实践

简介&#xff1a;随着业务规模的增长&#xff0c;业务方对后台服务的弹性诉求越来越强怎么办&#xff1f;云原生峰会前线最佳落地实践心得分享&#xff1a;看分众传媒如何借助 Serverless 函数计算提升 80% 开发运维效率&#xff0c;有效降低计算成本~ 作者 | 吴松&#xff08;…

当Unity实时3D引擎遇上AI虚实交互,Unity要成为元宇宙时代的新引擎

游戏引擎巨头Unity&#xff0c;还在为蔚来、小鹏、理想等14家车厂提供智能座舱等解决方案&#xff0c;以及为香港机场、北京城建、海尔卡奥斯提供数字孪生方案。实时3D引擎&#xff0c;也将是元宇宙时代的核心支撑。 编辑 | 宋慧 出品 | CSDN AI 领域的年度盛会——2022世界人…

告警运维中心|构建高效精准的告警协同处理体系

简介&#xff1a;基于报告&#xff0c;ARMS 能快速的整合上下文&#xff0c;包括 Prometheus 监控进行监控。还有前端监控的相关数据&#xff0c;都会整合到报告里面&#xff0c;进行全方位检测来收敛相关问题。 作者&#xff1a;延福 在开始正式内容前&#xff0c;我想跟大家…

01let和const

1.1 let 作用 声明局部变量 特性 不存在变量提升不能重复声明不作为window属性块级作用域暂时性死区&#xff08;声明前不能使用&#xff09; 1.2 const 作用 生成常量 特性 与let一致 globalThis 对象 Es5模块中的this是windowEs6模块中的this是undefined函数中的this&…

数字人技术在直播场景下的应用

作者 | 薄志浩本文介绍了在数字人AI技术发展迅猛&#xff0c;整体AI数字人市场呈现高速增长的趋势下&#xff0c;与强调高实时性互动的直播业务场景的结合与应用&#xff0c;通过数字人渲染技术、强大的AI全栈能力、算力为虚拟主播赋能&#xff0c;在面部表情、肢体动作、问答对…

CNCF 沙箱项目 OCM Placement 多集群调度指南

简介&#xff1a;在这篇文章中&#xff0c;将介绍 Placement 如何选择到所需的集群&#xff0c;Placement 可以提供的调度功能&#xff0c;以及一些场景下的最佳实践&#xff0c;使用者可以参考示例来编写符合自己要求的 Placement。其他一些高级调度功能&#xff0c;如支持污点…

02 解构赋值

解构赋值 1.1 什么是解构赋值 允许按照一定模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构 只要某种数据结构具有 Iterator 接口&#xff0c;都可以采用数组形式的解构赋值 1.2 数组解构赋值和对象解构赋值的区别 数组的元素是按次…