[react] 说说Context有哪些属性?

context属于一种解决组件间层级过多传递数据的问题,避免了层层嵌套的通过props传递的形式,同时对于不需要使用到redux时,是一种解决方案,关于组件的复用性变差的问题,我觉得是可以通过高阶组件和context配合来解决的,因为react-redux使用的就是这样的形式;
主要的形式:createContext(value):创建一个context实例;其中的参数为当前数据的默认值,只有没在Provider中指定value时,才会生效;
Context.Provider:生产者,数据提供方;通过value属性来定义需要被传递的数据
Context.Consumer:消费者,数据获取方;根据是函数组件还是class组件,有不同的使用形式;class组件可以指定contextType来确定要使用哪一个context对象的值,函数组件需要使用回调函数的形式来获取context的值;需要显示的指定context对象;

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题

[react] 说说Context有哪些属性?相关推荐

  1. React上下文-Context

    导语 redux解决的核心问题是父子兄弟等组件件传值很麻烦的问题,于是有了一个"通讯班"--redux,这个通讯班可以帮我们把组件之间的状态整合到一起,然后修改也统一修改.我们觉得 ...

  2. servlet里面的context,定义属性值的事情!

    servlet里面的context,定义属性值. 在尚未指定属性值的时候.不管谁调用,都是NULL. 但是,一旦指定了属性值.那么,再次调用就是之间指定的数值啦! 而且,是象mapping一样存储对象 ...

  3. [react] 给组件设置很多属性时不想一个个去设置有什么办法可以解决这问题呢?

    [react] 给组件设置很多属性时不想一个个去设置有什么办法可以解决这问题呢? es6展开运算符 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主 ...

  4. [react] 怎么在JSX里属性可以被覆盖吗?覆盖的原则是什么?

    [react] 怎么在JSX里属性可以被覆盖吗?覆盖的原则是什么? 会被覆盖,类似Object.assign,后面的覆盖前面的 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一 ...

  5. 模块开发之React使用第三方库PropTypes属性限制(十二)

    模块开发之React使用第三方库PropTypes属性限制(十二) 前言 这是一个纯配置的第三方库模块,所以我们需要掌握知识不需要太详细.能知道并拿来即用即可. 下面以使用该模块的背景展开,然后介绍使 ...

  6. React 中 Context 和 contextType的使用

    React 中 Context 的使用 context Context 提供了一种方式,能够让数据在组件树中传递时不必一级一级的手动传递 一般情况下,数据在组件中,要一级一级的传递,单向数据流,比如P ...

  7. React使用label标签for属性报错

    React使用label标签for属性报错 需求描述:点击标题文字直接激活input文本框,输入文字 代码实现: render() {return (<div><div>{/* ...

  8. React组件实现越级传递属性

    如果有这样一个结构:三级嵌套,分别是:一级父组件.二级子组件.三级孙子组件,且前者包含后者,结构如图: 如果把一个属性,比如color,从一级传递给三级,一般做法是使用props逐一向下传递,代码如下 ...

  9. React中Context的使用

    一.概述 Context 提供了一种在组件之间共享值的方式,而不必显式地通过组件树的逐层传递 props.如果获取值和使用值的层级相隔很远,或者需要使用这个值的组件很多很分散,则可以使用Context ...

最新文章

  1. ibatis 的 This SQL map does not contain a MappedStatement的错误
  2. FileChannel应用实例——本地文件读数据
  3. 【修改版】10行代码爬取A股上市公司信息
  4. html距离已过去多久,用javascript写的倒计时,从某年某月距离到今天还有多少时间...
  5. 天池读书会六月场来啦,零基础也能听的懂的编程分享!
  6. 张陈斌计算机控制工程,计算机控制讲稿--4.pdf
  7. Tip:使用Extender的ResolveControlID事件
  8. Docker上部署WebERP系统,开源ERP框架
  9. 安卓学习笔记10:常用布局 - 相对布局
  10. 各大公司官网都有哪些显而易见的Bug?
  11. 屏幕录像大师2016【破解版】
  12. PTES 测试执行标准
  13. 心理测试软件需求分析报告,大学生心理测试软件心理测评档案管理系统
  14. 阿里网盘资源查找使用技巧
  15. Unity | 动画那些事儿
  16. python win32api键盘_pythonwin32api键盘输入教程
  17. ARP欺骗的两种方式
  18. PySOT测试报错:AssertionError: /pysot/experiments/siamrpn_r50_l234_dwxcorr/Basketball/img/0001.jpg
  19. 你真的会用搜索引擎吗?能写出好论文、找到好工作的那种
  20. loadrunner没有 demo_scenario.lrs

热门文章

  1. python交互式和文件式_使用Python创建和自动化交互式仪表盘
  2. leetcode 137. 只出现一次的数字 II(位运算)
  3. leetcode43. 字符串相乘
  4. 数字孪生营销_如何通过数字营销增加您的自由职业收入
  5. azure第一个月_MLOps:两个Azure管道的故事
  6. PopupMenu控件的使用
  7. day5 Python爬虫学习
  8. ftp服务器 vsftpd搭建和配置以及虚拟用户的设置
  9. [Swift]LeetCode246.对称数 $ Strobogrammatic Number
  10. API的非向后兼容性无论如何通常代表着一种比较差的设计