内容简介:Context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。在一个典型的 React 应用中,数据是通过 props 属性由上向下(由父及子)的进行传递的,但这对于某些类型的属性而言是极其繁琐的(例如:地区偏好,UI主题),这是应用程序中许多组件都所需要的。 Context 提供了一种在组件之间共享此类值的方式,而不必通过组件树的每个层级显式地传递 props 。参考文档:
Context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 属性。
在一个典型的 React 应用中,数据是通过 props 属性由上向下(由父及子)的进行传递的,但这对于某些类型的属性而言是极其繁琐的(例如:地区偏好,UI主题),这是应用程序中许多组件都所需要的。 Context 提供了一种在组件之间共享此类值的方式,而不必通过组件树的每个层级显式地传递 props 。
参考文档: https://react.docschina.org/d...
connect.js
import React from 'react' const ctx = React.createContext() export const { Provider, Consumer } = ctx export const withComponent = Component => props => <Consumer>{ propsObj => <Component { ...props } propsObj={propsObj}></Component> }</Consumer> export default ctx
index.js
在最外层组件引入 Provider(*注意Provider的value名字不能改变)
import React, { Component } from 'react import { Provider } from './connect.js import Carder from './carder.js' export default class Index extends Component { state = { test: false } render() { return ( <Provider value={this.state.test}> <Carder> </Provider> ) } }
carder.js
import React, { Component } from 'react import { withComponent } from './connect.js class Carder extends Component { state = { test: false } render() { return ( <div> <p>test的值为:{this.props.test}</p> </div> ) } } export default withComponent(Carder )
以上所述就是小编给大家介绍的《新版本react的context使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 详解Glide最新版V4使用指南
- 升级到新版本,免费使用 Elasticsearch 的安全功能
- React复习进阶 - 高阶组件的使用/配置装饰品模式/新版context的使用
- 如何在算法交易中使用AI?摩根大通发布新版指南
- 新版 Edge 将提供使用 Fluent Design 设计语言的选项
- 近乎 V5.2 新版本正式上线,带来耳目一新的使用体验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
RabbitMQ实战
Alvaro Videla、Jason J. W. Williams / 汪佳南 / 电子工业出版社 / 2015-10 / 75.00元
本书对RabbitMQ做了全面、翔实的讲解,体现了两位专家的真知灼见。本书首先介绍了有关MQ的历史,然后从基本的消息通信原理讲起,带领读者一路探索RabbitMQ的消息通信世界。这当中不仅包含了针对单台RabbitMQ服务器和RabbitMQ集群的讲解,还教导读者如何使用各种工具来进行监控。 本书内容浅显易懂,文笔风趣幽默。书中包含了丰富的、可以运行的示例程序源代码,读者可以自行下载并运行,......一起来看看 《RabbitMQ实战》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
Base64 编码/解码
Base64 编码/解码