从腾讯课堂看到的一则跨组件传递数据的方法,贴代码:

使用步骤:

1.在产生参数的最顶级组建中,使用childContextTypes静态属性来定义需要放入全局参数的类型

2.在父组件中,提供状态,管理数据,

3.声明子组件获取全局参数的方式

4.在子组件中,使用contextTypes静态属性,生命需要获取父组件放入全局context中的数据类型

5.在子组件需要的地方获取全局参数

父组件:

import React, { Component } from 'react';
import logo from './logo.svg';
import PropTypes from 'prop-types';
import Screen from './components/screen/Screen';
import ControlPanel from './components/control/ControlPanel';
import './assets/styles/core.css'; class App extends Component { // 1.在产生参数的最顶级组建中,使用childContextTypes静态属性来定义需要放入全局参数的类型
static childContextTypes = {
title: PropTypes.string,
play: PropTypes.string,
stop: PropTypes.string
} // 2.在父组件中,提供状态,管理数据,
state = {
title: '少女时代',
play: '播放',
stop: '暂停'
} //3.声明子组件获取全局参数的方式
getChildContext() {
return {
title: this.state.title,
play: this.state.play,
stop: this.state.stop
}
} render() {
return (
<div className="itsource-tv">
<Screen />
<ControlPanel />
</div>
);
}
} export default App;

子组件:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import TVInfo from './Tvinfo' class Screen extends Component {
render() {
return (
<TVInfo />
);
}
} export default Screen;

孙组件:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import './ty-info.css'; class TVInfo extends Component {
static contextTypes = {
title: PropTypes.string
}
render() {
return (
<div className="TVInfo">
{this.context.title}
</div>
);
}
} export default TVInfo;

最新文章

  1. 简单动态规划-LeetCode198
  2. flex 弹性布局
  3. nginx location在配置中的优先级
  4. Faster-rnnlm代码分析2 - HSTree的构造
  5. hash 分区的用途是什么?
  6. 2016HUAS暑假集训训练2 A - Is It A Tree?
  7. elasticsearch的服务器响应异常及应对策略
  8. atitit.团队建设总结o6o fix
  9. 使用 环境变量 来配置批量配置apache
  10. [转]javascript函数定义表达式和函数声明的区别
  11. (转)Hadoop的InputFormats和OutputFormats
  12. [Spark内核] 第28课:Spark天堂之门解密
  13. 标准Http协议的六种请求方法详解
  14. javaScript设计模式之----工厂模式
  15. 用mplayer从视频中按周期提取帧
  16. eolinker 安装时遇到的坑
  17. 通过windows远程桌面连接CentOS系统
  18. 如何使用点击事件弹出一个url的iframe选项卡
  19. tcp 关闭socket 不发 FIN(RST)
  20. selinux权限问题【转】

热门文章

  1. 使用php的curl爬去青果教务系统 课表(转)
  2. 6、echarts使用的坑
  3. 目录的rwx权限的意义
  4. css学习_css BFC特性(块级格式化上下文)
  5. 如何从日期对象python获取以毫秒(秒后3位小数)为单位的时间值?
  6. Python---函数的相关知识点总结一:
  7. Head First Python-Python简单处理文件
  8. 操作系统与cpu
  9. Linux对大容量磁盘分区
  10. jmeter 之变量传递