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

  • 快手红包挂件隐藏了怎么恢复(快手红包挂件隐藏了怎么打开)

    快手红包挂件隐藏了怎么恢复(快手红包挂件隐藏了怎么打开)

  • 合并单元格word(word里面表格怎么合并单元格)

    合并单元格word(word里面表格怎么合并单元格)

  • 华为nova7pro指纹解锁在什么地方(华为nova7Pro指纹消失)

    华为nova7pro指纹解锁在什么地方(华为nova7Pro指纹消失)

  • vivo手机怎么看运行内存(vivo手机怎么看型号)

    vivo手机怎么看运行内存(vivo手机怎么看型号)

  • 关闭word的文档后该文档存放在(关闭word的四种方法)

    关闭word的文档后该文档存放在(关闭word的四种方法)

  • oppo手机卸载软件在哪里能找到(oppo手机卸载软件显示桌面已锁定)

    oppo手机卸载软件在哪里能找到(oppo手机卸载软件显示桌面已锁定)

  • 苹果11充电完成怎么提示(苹果11充电完成没反应)

    苹果11充电完成怎么提示(苹果11充电完成没反应)

  • 手机充电器能充笔记本电脑吗(手机充电器能充耳机吗)

    手机充电器能充笔记本电脑吗(手机充电器能充耳机吗)

  • ios14支持机型(苹果ios14正式版发布支持15种机型)

    ios14支持机型(苹果ios14正式版发布支持15种机型)

  • 微信完成了群公告是什么意思(微信完成了群公告什么意思,怎么做)

    微信完成了群公告是什么意思(微信完成了群公告什么意思,怎么做)

  • 什么情况下qq显示离线(什么情况下qq显示2g在线)

    什么情况下qq显示离线(什么情况下qq显示2g在线)

  • 小米10照相模糊(小米照相模糊怎么回事)

    小米10照相模糊(小米照相模糊怎么回事)

  • 手机儿童模式有什么用

    手机儿童模式有什么用

  • opporeno2什么时候上市(opporeno2什么时候停产的)

    opporeno2什么时候上市(opporeno2什么时候停产的)

  • 红米7a和红米8a有什么区别(红米7a和红米8a有什么区别?)

    红米7a和红米8a有什么区别(红米7a和红米8a有什么区别?)

  • vtr-al00是华为什么型号(vtr_al00什么型号)

    vtr-al00是华为什么型号(vtr_al00什么型号)

  • 自媒体有哪些平台?(自媒体有哪些平台可以做)

    自媒体有哪些平台?(自媒体有哪些平台可以做)

  • ctrl加f4是什么快捷键(ctrl +f4)

    ctrl加f4是什么快捷键(ctrl +f4)

  • ie浏览器怎样全页截图(ie浏览器选项在哪)

    ie浏览器怎样全页截图(ie浏览器选项在哪)

  • 微信聊天翻译对方能看到吗(微信聊天记录翻译对方看得到吗)

    微信聊天翻译对方能看到吗(微信聊天记录翻译对方看得到吗)

  • 如何让歌词在苹果手机桌面(如何让歌词出现在苹果手机上)

    如何让歌词在苹果手机桌面(如何让歌词出现在苹果手机上)

  • ps ipad版本什么时候上线(ps出ipad版本了吗)

    ps ipad版本什么时候上线(ps出ipad版本了吗)

  • 韩剧TV如何评分(韩剧tv怎么看分类)

    韩剧TV如何评分(韩剧tv怎么看分类)

  • 香港人微信怎么实名制(香港人微信号)

    香港人微信怎么实名制(香港人微信号)

  • 研发活动计入当期损益怎么计算
  • 免税收入要计入应纳税所得额吗
  • 税金及附加期初余额在哪一方
  • 预付房租收到发票怎么做
  • 会计信息采集审核需要多久
  • 民办非企业单位属于什么类型
  • 跨年的材料专票怎么做会计分录?
  • 小企业费用包括哪些
  • 支付外币投资会计处理
  • 组织投标工作
  • 税控机操作
  • 一个季度发票开超出9万
  • 混营纳税人有什么影响
  • 免征土地增值税的有哪些
  • 招商引资政府返税政策不兑现
  • 小规模纳税人财务制度
  • 费用与支出的区别是什么
  • 本金和利息分别出具借条
  • 税务定率征收
  • 华为手机屏幕碎了照片
  • 权益法下对投资者的要求
  • vue播放器
  • 认证超时什么意思
  • 怎么升级win11正版
  • 营业外收入账户贷方登记企业发生的各项营业外收入
  • 股东变更需要哪些手续的法律规定
  • php declare
  • 直线法计提折旧每年都一样吗
  • 免税项目可以弥补税款吗
  • 异常生物见闻录
  • php7安装教程详解
  • 稽查查补销售额后补开票如何申报
  • 微信小店的入口在哪里
  • 回顾2021年作文
  • 外贸企业出口退税申报流程
  • 不动产投资应该怎么做账
  • 发票冲红如何进入系统
  • 园林绿化企业属于什么行业
  • 研发费用成本化和费用化
  • 小规模纳税人免增值税的政策
  • 租赁中承租人的会计分录
  • 代扣和代缴的区别
  • 月末结转增值税怎么算
  • 实收资本什么时候交齐
  • 企业合并的流程
  • 跨年度收取的租金是什么
  • 增值税多缴税款可以抵缴以后
  • 没收租赁保证金要交增值税么
  • 微信转账没有显示对方的名字怎么办
  • 审计如何判断跨期
  • 小规模纳税人企业所得税税率
  • 电子汇票接收后怎么操作
  • 跨月的发票开错了该怎么办?
  • 分期收款销售什么意思
  • 汽车属于固定资产吗?如何计提折旧
  • 企业应该设置哪些部门
  • mysql提高效率
  • sql局部变量标识符
  • windows7与xp
  • 进程 com surrogate
  • onekey.exe是什么
  • win8系统怎么设置桌面
  • excel最小化后再次选择不弹出来
  • input的file
  • c#的程序集
  • js必须掌握的知识点
  • Node.js中的全局对象有
  • cmd文件操作基本命令清单
  • JavaScript中length属性的使用方法
  • shell脚本输出空格
  • android studio报错
  • javascript书写基本规范
  • android的中文
  • 河北省国家税务局电子税务局官网入口
  • 出口退税外汇汇率如何确定
  • 重庆国税电子税务局
  • 职工周转房需要缴纳房产税吗
  • 政府主管部门对企业检查要求
  • 销售折让怎么开票
  • 申报地税的流程图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设