react8 组件之间的通信
<body>
<!-- React 真实 DOM 将会插入到这里 -->
<div id="example"></div>
<!-- 引入 React -->
<script src="src/libs/react.js"></script>
<!-- 引入 JSX 语法格式转换器 -->
<script src="src/libs/JSXTransformer.js"></script>
<script src="src/libs/jquery.js"></script>
<!-- 注意:script 需要注明 type 为 text/jsx 以指定这是一个 JSX 语法格式 -->
<script type="text/jsx">
var Parent = React.createClass({
handleClick : function () {
React.findDOMNode(this.refs.myTestInput).focus();
},
render : function () {
return (
<div onClick={this.handleClick} className="aaa">
<input type="text" ref="myTestInput" />
<Child name={this.props.name}></Child>
</div>
)
}
})
var Child = React.createClass({
render: function () {
return (
<div>{this.props.name}</div>
)
}
})
React.render(
<Parent name="11111111111" />,
document.getElementById('example')
)
</script>
</body>

组件之间的通信
先创建一个父类组件Parent,它内部调用一个叫做Child的子组件,并将接收到的外部参数name传递给子组件Child。
再创建一个子类组件Child
然后通过React.render方法将组件渲染到页面上
- 子组件调用父组件的方法。从上面的例子可以看出,子组件要拿到父组件的属性,需要通过this.props方法。所以,如果子组件想要调用父组件的方法,只需要父组件把要被调用的方法以属性的方式放在子组件上,子组件内部便可通过"this.props.被调用的方法"这样的方式拿到name属性的。然后,每次父组件修改了传入的name属性,子组件便会得到通知,然后自动获取新的name属性
- 父组件调用子组件的方法。子组件调用父组件是通过prop属性,而反过来,父组件调用子组件通过的就是 ref 属性。子组件被设置了ref属性之后,父组件便可以通过this.ref.xxx来获取到子组件了,其中xx为子组件的ref值。
react8 组件之间的通信的更多相关文章
- 使用reflux进行react组件之间的通信
前言 组件之间为什么要通信?因为有依赖. 那么,作为React组件,怎么通信? React官网说, 进行 父-子 通信,可以直接pass props. 进行 子-父 通信,往父组件传给子组件的函数注入 ...
- react native 之子组件和父组件之间的通信
react native开发中,为了封装性经常需要自定义组件,这样就会出现父组件和子组件,那么怎么在父组件和子组件之间相互通信呢,也就是怎么在各自界面push和pop.传值. 父组件传递给子组件: 父 ...
- js组件之间的通信
应用场景: 1.在刷微博的时候,滑到某个头像上,会出现一张usercard(用户名片), 微博列表区有这个usercard, 推荐列表也有这个usercard,评论区也有. 2.在网上购物时,购物车安 ...
- Intent实现Activity组件之间的通信
今天讲解的是使用Intent实现Activity组件之间的通信. 一. 使用Intent显式启动Activity,Activity1àActivity2 1. ...
- 使用Broadcast实现android组件之间的通信 分类: android 学习笔记 2015-07-09 14:16 110人阅读 评论(0) 收藏
android组件之间的通信有多种实现方式,Broadcast就是其中一种.在activity和fragment之间的通信,broadcast用的更多本文以一个activity为例. 效果如图: 布局 ...
- vue 基础-->进阶 教程(3):组件嵌套、组件之间的通信、路由机制
前面的nodejs教程并没有停止更新,因为node项目需要用vue来实现界面部分,所以先插入一个vue教程,以免不会的同学不能很好的完成项目. 本教程,将从零开始,教给大家vue的基础.高级操作.组件 ...
- ionic2+Angular 依赖注入之Subject ——使用Subject来实现组件之间的通信
在Angular+ionic2 开发过程中,我们不难发现,页面之间跳转之后返回时是不会刷新数据的. 场景一:当前页面需要登录之后才能获取数据--去登录,登录成功之后返回--页面需要手动刷新才能获取到数 ...
- 使用Broadcast实现android组件之间的通信
android组件之间的通信有多种实现方式,Broadcast就是其中一种.在activity和fragment之间的通信,broadcast用的更多本文以一个activity为例. 效果如图: 布局 ...
- vue工程利用pubsub-js实现兄弟组件之间的通信
前言 项目是基于vue-cli创建的,不会搭建vue开发环境的同学可以百度,这里不再赘述. 步骤流程 vue项目搭建完成之后的文件图如下: 我的上一篇博客已经详细叙述vue工程中各个文件的作用,不清楚 ...
随机推荐
- 查找原始MySQL死锁ID
转载地址:http://yueliangdao0608.blog.51cto.com/397025/1180917 如果遇到死锁了,怎么解决呢?找到原始的锁ID,然后KILL掉一直持有的那个线程就可以 ...
- Good-Bye
嘛……以一种奇怪的姿势滚粗了…… 如果这个Blog能给未来的OIer们一些帮助的话,它也不枉存在了…… 我的OI之路也能以另一种形式延续下去吧…… 也许能搞ACM的话会再开?…… 不管怎么说,各位再见 ...
- 在項目中快速部署SLF4J+LOGBACK
想了解SLF4J,LOGBACK是什么?可以访问:http://www.slf4j.org/ http://logback.qos.ch/ 本文大部分参考了Cody Burleson<Ho ...
- 虚拟机安装LINUX网络配置注意的问题
1.如果你配置本地IP,不上网,网卡选项可以选择仅主机模式,如果要上网,就直接选择桥接模式,复制物理网络这个选项 2.将NET1网卡(仅主机模式)选中,然后进入下面这个配置选项 上面方框内的IP段 ...
- Winform以任意角度旋转PictureBox中的图片的方法
方法1: private void RotateFormCenter(PictureBox pb, float angle) { Image img = pb.Image; int newWidth ...
- 《Linux内核分析》之第三章读书笔记
进程管理 进程是处于执行期的程序以及相关的资源的总称,也称作任务.执行线程,简称线程,是在进程中活动的对象. 可以两个或两个以上的进程执行同一个程序 也可以两个或两个以上并存的进程共享许多资源 内核调 ...
- git 证书错误
git clone https://github.com/openstack-dev/devstack.git Cloning into 'devstack'... error: server cer ...
- cocos2d-x 2.2.2 android平台移植
1.完成以上工具的下载安装--cocos2d-x 2.2.2 --eclipse+adt+sdk --ndk 2.创建cocos2d-x工程 在"cocos2d-x-2.2.2\tools\ ...
- java程序员的技能要求
一.WEB编程1.客户端WEB编程a) 知道html和xhtml的区别b) 熟悉框模型(盒子模型)概念,了解margin.border.padding的区别c) 熟悉浮动.定位的概念,了解positi ...
- 解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)
解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译) http://improve.dk/orcamdf-feature-recap/ 时间过得真快,这已经过了大概四个月了自从我最初介绍我 ...