介绍

组件通讯的几种方式

  • 父子⬅⬅
  • 子父(反向数据流)
  • 中间人(兄弟之间 父 做中间人)
  • 转发 refs (refs 的使用)
  • context组件上下文(react 中的四大实例 {state,props,refs.,context}) ⬅⬅
  • 订阅发布
  • 路由
  • web 存储(cookie等)
  • 状态管理 ⬅⬅⬅

父子

就是父组件里面调用子组件,给子组件去传递数据,然后子组件里面是可以拿到这个数据的

  • <Child 属性=数据/> 父组件调用子组件并传值
例:<List list={list}></List>    //父组件内书写
  • this.props.属性 子组件调取
例:console.log(this.props.list)   //子组件内书写

案例展示

//父组件
class App extends React.Component{state={content:"你好"};render(){return (<div><List content={this.state.content}/></div>)}
}
//子组件
class List extends React.Component{render(){return (<div><li>{this.props.content}</li>   //接收父组件传递过来的值</div>)}
}

子父

把 父 的方法绑给 子,作为子 的props 传递下去,子通过恰当的时机通过 props 身上的属性调用这个属性,如同在调用 父 这个方法,只要把 子 的属性在调用 父 方法的时候传过去,父的方法就能接受到,这就是反向数据流

  • <Child 属性=父方法/> 父的方法绑给子,作为子的props传递下去
例:<List add={this.add}></List>
  • this.props.属性(子数据) 子通过 props 身上的属性调用这个属性,如同在调用 父 这个方法
例:<button onClick={()=>{this.props.add(xxx)}}></button >

案例展示

//父组件
class App extends React.Component{state={content:"你好"};add = (e)=>{console.log(e)}render(){return (<div><List content={this.state.content} add={this.add}/>   //将父的方法传递到子里面</div>)}
}
//子组件
class List extends React.Component{render(){return (<div><li>{this.props.content}</li>   //接收父组件传递过来的值<button onClick={()=>{this.props.add(123)}}></button>  //调用父方法  </div>)}
}

结果展示

中间人

如果一个父组件调了两个子组件 ,一个 a ,一个 b,那么我们在 a 组件中调用这个 父方法,把数据传过来,那么父就拿到了,父再把接受到的 a 再想办法绑定到 b 的身上。

  • 就是子父传递过去,第三个弟弟组件再次调用(参考子父代码)
<ChildA 属性=父方法/>
<ChildB 属性=接受的a数据/>

react 父子 --- 子父 通讯相关推荐

  1. this指向-作用域、作用域链-预解析 变量提升-Vue组件传值 父子 子父 非父子-Vue数据双向绑定原理

    目录 this指向 作用域.作用域链 预解析 变量提升 Vue组件传值 父子 子父 非父子 Vue数据双向绑定原理 1.this指向 函数的this指向 看调用.不看声明 (1)普通函数调用 ①函数名 ...

  2. 生命周期数据共享[父子-子父-兄弟]ref引用数组复习

    目录 一.组件的生命周期& 生命周期函数 1. 生命周期 & 生命周期函数 2.组件生命周期函数的分类 3.生命周期图示[重要] 二.组件之间的数据共享 1. 组件之间的关系 2. 父 ...

  3. React组件进阶--组件通讯介绍,组件的 props特点,组件通讯的三种方式子到父,父到子,兄弟到兄弟组件,Context,回顾练习

    1.组件通讯介绍 组件是独立且封闭的单元,默认情况下,只能使用组件自己的数据(state). 在组件化过程中,我们将一个完整的功能 拆分成多个组件,以更好的完成整个应用的功能. 而在这个过程中,多个组 ...

  4. uniapp 子组件 props拿不到数据_总结下React组件间的通讯

    这是个老话题了. 随着组件化开发成为主流,每个组件都有完善的生命周期,大家可以在生命周期内做一些事情,每个组件有自己的状态管理机制.同时,每个组件都是独立的.这能提高大家的开发效率,规范化开发. 今天 ...

  5. react 子传参父_react子父传参有几种方法?

    react子父传参有几种方法?下面本篇文章给大家介绍一下react父子组件传参(值)的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. react父子组件传参(值)的几种方法 一 ...

  6. vue中父子组件先后渲染_VUE如何实现子父组件、父子组件、兄弟组件传值

    父子组件传值: 父组件定义: 代码示例 子父组件传值: 父组件方法定义: 子组件执行父组件方法定义: methods: { closeOrOpenLeftMenu() { if (this.isLef ...

  7. Vue.js-Day03-PM【组件通信(安装Vetur插件、父子组件通信、子父组件通信)、项目发送与启动(项目发给别人、启动别人的项目)】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 6.组件通信 安装 Vetur 插件 6.1.父子组件通信 子定义props 父组件模板 图解 6.2.子父组 ...

  8. springcloud 创建子父项目_idea搭建springCloud----搭建父子项目(二)

    今天介绍一下 : idea 搭建父子项目 父项目:springCloud_ht 子项目:eureka_server(注册中心) 1-1.新建父项目: 1-2 起名称 springCloud_ht 1- ...

  9. Vue 进阶组件实战应用 -- 父子组件传值的应用实例(子父组件传值的两种触发方式)

    基础的子组件和父组件通信已经搞定了,可以看此博客 父子组件传值基础应用 需求 现在需求是在一个父页面引用子组件,不只是要实现基本的父子组件传值.并且子组件给父组件传值的触发条件要在父页面触发. 目前小 ...

  10. Vue3中的父子、子父组件通信

    Vue3中的父子.子父组件通信方式总结 李俊才的CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com 1. 父组件 => 子组件 | 使用props 父组件(分 ...

最新文章

  1. 链表中倒数第k个节点
  2. 计算机网络谢希仁第七版课后答案第二章 物理层
  3. Javascript在IE中的有趣错误
  4. 学python就业要看哪些书-人人学Python,为什么就业拿高薪的那么少?
  5. face-recognition库(人脸识别库)安装,使用
  6. SAP License:SAP概念辨识
  7. 为什么说:“你不合适学Python?”醍醐灌顶!
  8. keepalived双机热备原理及实例部署LVS+keepalived
  9. [可道云文件管理kodbox 1.15] 企业网盘+云端文档管理+批量上传下载文件夹+移动端H5优化
  10. Python图片转base64
  11. 微信显示android23,微信7.0.23内测版发布 新增6个新功能
  12. 关于移动应用用户体验设计的一些体会
  13. Linux:CPU频率调节模式以及降频方法简介
  14. 2022-2028全球轴承润滑油行业调研及趋势分析报告
  15. iOS新特性框架、仿微信图片浏览、视频监控、爱心动画、文字适配等源码
  16. 树莓派通过snowboy唤醒引擎(Python2、Python3的都可以),自定义唤醒词、关键字,达到小爱同学、天猫精灵一样的唤醒方式的全套教程
  17. elementui 按钮 表单_仿ElementUI实现一个Form表单的实现代码
  18. composer php 打包图片,php图片添加水印,做海报,添加文字等处理的composer包推荐...
  19. 文思海辉智翼云与ZStack IaaS软件完成产品兼容互认证
  20. 【例9-3】结构体变量的引用

热门文章

  1. 浏览器查看Base64格式的图片
  2. 根据前序序列和中序序列重建二叉树
  3. 解决outlook2016 中邮件中,点击链接提示(您的组织策略阻止我们为您完成此操作)解决方案
  4. cadence Virtuoso ADE原理图AnalogLib库中的switch使用
  5. excel冻结行和列_excel如何冻结首行、首列、指定的行和列,这样看数据就方便多了...
  6. joycon手柄拆解_任天堂switch手柄怎么拆解图文教程 教你如何拆joycon
  7. 图像处理在交通中的应用
  8. 【原创百篇纪念】2048蒙特卡洛法与强化学习测试+B站视频爬取与Cookie攻击测试
  9. 贪心科技与多门类数据分析课程的对比与评价
  10. MIPI学习--CSI2