React之使用context传递数据
2017-06-30 18:26
453 查看
与props只能逐级传递数据相比,使用context可以实现跨级传递数据。
下面通过一个demo来展示context传递数据的实现:
最终实现效果如下图
下面通过一个demo来展示context传递数据的实现:
//父组件,最上层的组件 import React, { Component,PropTypes } from 'react'; import Son from './Son'; class App extends Component { getChildContext() { return {test: "hello"}; } render() { return ( <div className="App" style={{border:'1px solid red',width:'30%',margin:'50px auto',textAlign:'center'}}> <p style={{padding:'0',margin:'0'}}>父组件</p> <Son/> </div> ); } } App.childContextTypes = { test: PropTypes.string }; export default App;
//子组件 import React, { Component,PropTypes } from 'react'; import Grandson from './Grandson'; class App extends Component { render() { console.log('this.context',this.context); return ( <div className="son" style={{border:'1px solid blue',width:'60%',margin:'50px auto',textAlign:'center'}}> <p>子组件,获取父组件的值:{this.context.test}</p> <Grandson/> </div> ); } } App.contextTypes = { test: PropTypes.string }; export default App;
//孙组件 import React, { Component,PropTypes } from 'react'; class App extends Component { render() { console.log('this.context:',this.context); return ( <div className="son" style={{border:'1px solid green',width:'60%',margin:'50px auto',textAlign:'center'}}> <p>孙组件,获取传递下来的值:{this.context.test}</p> </div> ); } } App.contextTypes = { test: PropTypes.string }; export default App;
最终实现效果如下图
相关文章推荐
- react之使用Context跨组件树传递数据
- react native使用react-navigation跳转后多页面数据传递总结
- 使用Cookie传递数据
- 使用xml传递数据表中的数据
- ExtJs+MonoRail 使用XML传递数据
- AJAX Hacks 之HACK2. 使用Request对象与服务器进行数据传递
- [错误记录]关于指针传递获得数据使用错误问题....
- IssueVision 学习笔记(一)-----使用SoapHeader传递Web Serivices自定义的身份验证数据
- 使用钩子函数[5] - 数据传递
- .net中使用消息传递数据
- 在Ajax中使用JSON传递数据 [ZT]
- 使用JavaScript访问通过JSON传递数据的Web服务
- 两个程序之间传递数据可以使用wm_copydata
- 使用Cross-Page Postback(跨页面提交)在页面间传递数据
- 跟我一起学Windows Workflow Foundation(3)-----使用If/Else活动,定制活动处理工作流,使用事件传递数据
- 使用Cross-Page Postback(跨页面提交)在页面间传递数据
- 使用xmlhttp.send()方法的参数来传递大容量的数据
- 使用Cross-Page Postback(跨页面提交)在页面间传递数据
- delphi中程序间数据传递。及消息使用(转)
- 使用Cross-Page Postback(跨页面提交)在页面间传递数据