美文网首页前端
react进阶-Context

react进阶-Context

作者: xhbisme | 来源:发表于2018-04-25 20:30 被阅读1次

    基于react父子组件互相嵌套的基础,在复杂结构中,一定会出现层层嵌套的情况。导致父子组件相隔甚远,遥遥不可相见。为了解决这个问题,react团队推出了Context。切记,这个东西会打乱原来的父子嵌套传递属性的规则,还是少用为好。

    Context在这里借鉴了生产者和消费者的概念。通过生产者生产,消费者直接消费的模式,打破props原本的传递规则。实际应用如下:

context用法

这里用到了3个API:

1)React.createContext:(创世者)

    const { Provider,Consumer } = React.createContext(defaultValue);

    创建一对 { Provider, Consumer }。当 React 渲染 context 组件 Consumer 时,它将从组件树的上层中最接近的匹配的 Provider 读取当前的 context 值(就近原则)。如果上层的组件树没有一个匹配的 Provider,就会用到defaultValue。

2)Provider:(生产者)

    React 组件允许 Consumers 订阅 context 的改变。接收一个 value 属性传递给 Provider 的后代 Consumers。一个 Provider 可以联系到多个 Consumers。Providers 可以被嵌套以覆盖组件树内更深层次的值。

3)Consumer:(消费者)

    可以订阅 context 变化的 React 组件。和Provider对应。

相关文章

  • react进阶-Context

    基于react父子组件互相嵌套的基础,在复杂结构中,一定会出现层层嵌套的情况。导致父子组件相隔甚远,遥遥不可相见。...

  • React 进阶 context

    纵观前端框架,在国内还是 vue 和 react 是比较受欢迎的。angular 较他们要显得稍弱一些。我接触 r...

  • 2018-08-08

    React 高级指南 React 新版上下文(context) context ?答:上下文(Context) 提...

  • React 进阶目录

    React进阶(附录一)构建工具改造过程记录 React进阶(一)React进阶更新计划浅谈React进阶(二)为...

  • React中不常用的功能——Context

    React中不常用的功能——Context Context React源码版本16.8 基本用法 跨层级通信 Co...

  • React 进阶提高 - 技巧篇 - React Hook -

    React 进阶提高 - 技巧篇 - React Hook - 第 2 季(18 个视频) React 进阶提高 ...

  • 疑问汇总

    1. react context是怎样实现 跨组件通信的? 从Context源码实现谈React性能优化[http...

  • Context 进阶

    种写法就相当于我们把全局Context对象通过参数传递给了LitePal,效果和在清单文件配置LitePalApp...

  • react context

    react context React.createContext, Provider(数据提供者), Consu...

  • React 拾遗之 Context

    React 拾遗之 Context React.js 的 context 其实像就是组件树上某颗子树的全局变量 使...

网友评论

  • 肖炎_45f8:一看水平不怎么的。还说少用为好

本文标题:react进阶-Context

本文链接:https://www.haomeiwen.com/subject/mwzylftx.html