react学习笔记(7) - 父子通信
React
学习笔记(7) - 父子通信
- 在
React
中,父子组件
间的通信是非常常见的问题,除了使用状态管理工具(如redux
)以外,也可以实现父子组件的相互通信。其中,父组件可以通过props
、原型方法
向子组件通信,子组件可以通过回调函数
、事件冒泡
向父组件通信。
1. 父组件向子组件通信
- 父组件项子组件通信中最常见的办法就是通过
props
(属性),代码如下:
import React, { Component } from 'react' |
结果展示:
- 第二种,使用原型方法,父组件通过
React.createRef()
创建Ref
,保存在实例属性对应生成的ref
上。父组件中,渲染子组件时,定义一个Ref
属性,值为刚创建的对应的ref
,并且在子组件设计的时候自带一个方法用于传值,随后在父组件中调用子组件的时候,父组件通过ref
属性来获取到子组件中用于传值的方法。
import React, { Component } from 'react' |
结果展示:
2. 子组件向父组件通信
- 子组件向父组件传数据方法之一:回调函数,使用起来与
props
属性也是非常相似的,我们在父组件中引入了子组件,同样给子组件传一个属性过去,但是相较于props
的传数据,子传父方法传的是回调函数(callback
),首先在父组件中给子组件通过props
的形式绑定一个回调函数
,这个回调函数里面可以写上子组件传数据过来给父组件的逻辑,随后在子组件中通过this.props.callback
的形式接收到父组件传过来的方法,我们在调用这个方法发挥数据给父组件即可
import React, { Component } from 'react' |
结果展示:
登陆页面的案例(结合父子通信以及表单富文本的使用)
- 将输入的账号密码设置为一个组件,随后在登陆页面上引用这个组件,通过
ref
实现子传父,通过props
实现父传子
代码展示:
import React, { Component } from 'react' |
结果展示:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库