React组件之间传值
来源:互联网 发布:信捷plc编程电缆 编辑:程序博客网 时间:2024/06/05 16:06
React 的组件通信可分为以下三种情况
- 父级组件 -> 子集组件
- 子集组件 -> 父级组件
- 兄弟组件(同级组件)
无特定关系组件
一 、 父级组件 -> 子集组件
var ChildComponent = React.createClass({ getInitialState:function(){ return { show:true } }, render:function(){ console.log(this.props.title) var st=this.props.shows; var show=st?'showClass':'hideClass'; return ( <div> <span>{this.state.show}</span> <div className={show}></div> </div> ) } }); var ParentComponent = React.createClass({ getInitialState:function(){ return { parentcomponet:true } }, statusHandler:function(){ this.setState({parentcomponet:!this.state.parentcomponet}) }, render:function(){ return ( <div> <ChildComponent title="gg" shows={this.state.parentcomponet}></ChildComponent> <button onClick={this.statusHandler}>点击</button> </div> ) } }); ReactDOM.render( <ParentComponent></ParentComponent> , document.getElementById('app') );
如上父级组件向子集通信 通常使用 props
有一个明显的缺陷,当组件层级较深时,props 的传递成本就明显较高,不建议react 的层级过多(尽量减少层级,或者控制组件层级在一定范围内)
###二 、 子集组件 -> 父级组件
“`
var ParentComponent = React.createClass({
getInitialState: function () {
return {
checked: false,
parent:’0’
};
},
onChildChanged: function (newState) {
this.setState({
checked: newState
});
console.log(this.state);
},
render: function() {
var isChecked = this.state.checked ? ‘yes’ : ‘no’;
return (
Are you checked: {isChecked}
兄弟组件(同级组件)
其实很简单 把上两种数据传递结合起来就是第三种
组件之间是相互独立的
基本数据流 是
子组件1 -> 父组件 -> 子组件
无特定关系组件
设置全局广播事件
阅读全文
0 0
- React组件之间传值
- React组件之间传值
- React 组件之间传值
- React组件之间传值
- React组件之间传值
- react组件之间传值
- React组件之间传值
- react组件之间的传值
- React组件之间的传值
- react同级组件之间传值
- react入坑之父子组件之间的传值
- React 组件之间如何交流
- React 组件之间如何交流
- React 组件之间如何交流
- react组件之间如何交流
- React组件之间的通信
- react组件之间的通信
- react组件之间的通信
- iosAnimationDemo
- Cat 的新猫:TOMMY
- MySQL 简介
- Arithmetic Slices
- MyBatis之sql拼接
- React组件之间传值
- 使chrome兼容showModalDialog的方法
- Alamofire 4.0踩坑
- meta标签整理
- xamarin android 主子进程更改UI 与 控制软键盘隐藏
- angularjs1官方教程联系总结:
- 项目管理中心思想
- docker(五):Mac docker 自定义nginx配置打包nginx镜像
- WCF中使用自定义“用户名/密码”验证